@lyrion

Почему вывод пустой?

Господа, видимо в упор не вижу очевидную ошибку. Помогите:
function quest($i){
	$nVal = 0;
	$bTrigger = false;
	
	if(!$i){
		$bTrigger = false;
	} else {
		$bTrigger = true;
	}
	
	if(!$bTrigger){
		quest(++$i);
	} else {
		return $i;
	}
}

$result = quest(0);
echo $result; //Пустой вывод!

Должна выводиться 1, но выводится ничего. Что не так!?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
Zoominger
@Zoominger
System Integrator
Должна выводиться 1

С чего бы? Вот это условие:
if(!$bTrigger){
    quest(++$i);

срабатывает, а там нет никакого возврата. Функция не возвращает значения. Вот и всё.
Трассировка - наше всё.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
s_panteleev
@s_panteleev
25 yo, Yaroslavl
if(!$bTrigger){
    return quest(++$i); // а так ?
  } else {
    return $i;
  }
Ответ написан
@Roma741
ты что-то непонятное делаешь у тебя срабатывает $bTrigger = false; потом quest(++$i); а return только если else функция ничего не возвращает
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 270 000 до 300 000 ₽
от 100 000 до 180 000 ₽
NewGen Vision Санкт-Петербург
от 50 000 до 80 000 ₽
08 дек. 2021, в 19:27
15000 руб./за проект
08 дек. 2021, в 19:27
1000 руб./в час
08 дек. 2021, в 19:14
20000 руб./за проект