@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, но выводится ничего. Что не так!?
  • Вопрос задан
  • 88 просмотров
Решения вопроса 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 функция ничего не возвращает
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы