Привет, Когда я пытаюсь использовать функцию rand()
чем когда-нибудь пуст, как
// I want random value between 0-5000 , want 500 random value
for ($i=0; $i < 500; $i++) {
$randNo = rand(0, 5000);
if (in_array($randNo, $randArray)) {
$randNo = InfiniteLoop($randArray ,$length_sec);
}
array_push($randArray,$randNo);
}
sort($randArray);
После этого я напечатаю этот массив, давая некоторое пустое значение.
//output
Array ( [0] => [1] => 523 [2] => 824 [3] ....so on )
Если вам нужно 500 различных случайных чисел от 0 до 5000, то вам, вероятно, следует использовать shuffle()
и array_slice()
:
$allNumbers = range(0, 5000);
shuffle($allNumbers);
$randomNumbers = array_slice($allNumbers, 0, 500);
Использование:
$allNumbers = [];
for ($i = 0; $i < 5000; $i++) {
$allNumbers[] = $i;
}
uniqid($allNumbers);
Проблема может быть вашей функцией "InfiniteLoop", она заменяет результаты rand()
InfiniteLoop()
? Прямо сейчас только эта функция может быть источником ошибки