PHP: возвращает значение без завершения выполнения скрипта?

#php #return

#php #Возврат

Вопрос:

Есть ли способ вернуть данные с помощью PHP без return(), завершающего выполнение скрипта?

Комментарии:

1. return не завершает выполнение скрипта, он завершает функцию. Если вы думаете о том, чтобы получить значение на полпути в функцию и загрузить его в ту часть кода, которая вызвала эту конкретную функцию, то нет — это невозможно и бессмысленно.

2. Почему вы хотите сделать что-то подобное?

3. С каких пор когда- return либо завершалось выполнение скрипта?

4. попробуйте echo начать с середины этой функции

5. @BoltClock: вероятно, когда вы используете его вне функции 😉

Ответ №1:

Боюсь, что нет, return смысл в том, чтобы вернуть значение из функции. Однако вы можете временно сохранить возвращаемое значение и вернуть его в конце

 function myFunc() {
    $retValue = "";
    //doe some stuff and at some point have $retValue = aValue
    return $retValue;
}
  

Ответ №2:

 $yourval = what_you_want_to_return();
.... more stuff...
return $yourval;
  

Ответ №3:

Вы могли бы решить проблему другим способом:

Если у вас есть функция:

 function myFunction ( $input )
{
    $var1 = $input   5;
    $var2 = $input   10;

    $GLOBALS['var1'] = $var1;
    $GLOBALS['var2'] = $var2;

    return null;
}
  

Тогда вы могли бы использовать его следующим образом:

 myFunction(5);
echo $GLOBALS['var1'];
echo $GLOBALS['var2'];
  

Но, пожалуйста, обратите внимание, что это всего лишь решение для вас, если вместо этого не удалось вернуть массив, потому что это может привести к конфликтам с некоторыми сторонними библиотеками, если использовать тот же ключ $GLOBALS .