Исключение повторений случайных чисел

Boris

Новичок
Добрый день!
Подскажите, при запуске нижеприведенного кода , я предполагал получить массив с случайными числами, которые бы не повторялись, но при рекурсии получается пустая строка.
Вот код.
PHP:
$rand_numbers = array();
function create_rand_num($t_rows,$r_numbers)
{
        $r_n = mt_rand(0, $t_rows);
        if(!in_array($r_n,$r_numbers))
        {
                return $r_n;
        }
        else
        {
                create_rand_num($t_rows,$r_numbers);
        }
}
while (count($rand_numbers) < $per_page) 
{
        $rand_numbers[] = create_rand_num($total_rows,$rand_numbers);
}

for($i=0;$i<$per_page;$i++)
{
echo($rand_numbers[$i]."<br />");
}
а вот пример вывода массива

PHP:
11
4
8
13


2
1

7
$total_rows = 13
$per_page = 10

Что-то не могу понять что я натворил .
Спасибо
 

Boris

Новичок
если случайное число уже было создано и записано в массив, генерируется еще раз случайное число, для этого я использую рекурсию
 

флоппик

promotor fidei
Команда форума
Партнер клуба
PHP:
<?php var_dump(array_shuffle(range($min, $max)));?>
trollface.jpg
 

Boris

Новичок
вопрос снимается спасибо
но если кто-то будет читать то ответ заключается в том что в данном случае метка возврата это место вызова рекурсии, а в данном случае нет возврата поэтому есть пропуск.
Спасибо всем
 
Сверху