Я запускаю функцию, и ее часть требует выбора случайного числа, однако она не может быть в массиве уже выбранных чисел. Поэтому, если выбранное случайное число находится в массиве, ему нужно выбрать новый номер. Кажется, я действительно борется с чем-то, что кажется так легкоphp рекурсивная функция не работает правильно
function choice() {
global $countries;
global $count;
global $answers;
global $choice;
$i = rand(0,$count-1);
if(in_array($i,$answers)) choice();
else {
$answers[] = $i;
$choice = $countries[$i]['capital_city'];
return $choice;
}
Таким образом, текущая логика здесь, он выбирает случайное число, проверяет его в массиве, если оно не то она устанавливает переменную и возвращает его , если он есть, то он генерирует новое число, перезапуская функцию. Что происходит, когда он находит одно в funtion, он возвращает пустой результат, а не возвращается через функцию. Что я делаю так неправильно?
У этого случая есть синтаксическая ошибка. –
Мы не можем никому, кто не поможет нам в первую очередь, сообщить нам, что такое точная ошибка и местоположение – Li357
Вы не возвращаете рекурсивный вызов. – Rizier123