#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
.