Я сегодня уже писал статью о том как генерировать уникальные случайные числа, но писал алгоритм на javaScript (почитать). Немного поразмыслив, решил повторить тоже самое на php — может быть пригодится. Ниже приведен код с комментариями:
<?php $outArray = array(); // хранилище для чисел $max = 10; // максимальное число $min = 0; // минимальное число $count = 10; // количество чисел $i = 0; // счетчик while($i<$count){ $chislo = mt_rand($min, $max); // генерим случайное число if(!in_array($chislo, $outArray)){ // Проверяем уникальность числа. $outArray[$i] = $chislo; // если уникальное, то заисываем его в массив $i++; } } var_dump($outArray); ?>
$outArray = array(); // хранилище для чисел
$max = count($Companys_new); // максимальное число
$min = 0; // минимальное число
$count = 20; // количество чисел
$i = 0; // счетчик
if ($max <$count ) $count=$max ;
while($i<$count){
$chislo = mt_rand($min, $max); // генерим случайное число
if(!in_array($chislo, $outArray)){ // Проверяем уникальность числа.
$outArray[$i] = $chislo; // если уникальное, то заисываем его в массив
$i++;
}
}
если количество меньше 20 то у тебя бесконечный цикл