Есть ли способ вернуть данные с помощью PHP без завершения выполнения скрипта return()?
PHP: возврат значения без прекращения выполнения скрипта?
Ответы (2)
Боюсь, что нет, цель return
состоит в том, чтобы вернуть значение из функции. Однако вы можете временно сохранить возвращаемое значение и вернуть его в конце
function myFunc() {
$retValue = "";
//doe some stuff and at some point have $retValue = aValue
return $retValue;
}
person
Joey Ciechanowicz
schedule
25.10.2011
Можно решить проблему другим способом:
Если у вас есть функция:
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
.
person
evotopid
schedule
25.10.2011
return
не завершает выполнение скрипта, а выходит из функции. Если вы думаете о том, чтобы получить значение на полпути к функции и загрузить его в ту часть кода, которая вызывает эту конкретную функцию, то нет, это невозможно и бессмысленно. - person N.B.   schedule 25.10.2011return
когда-либо прерывал выполнение скрипта? - person BoltClock   schedule 25.10.2011echo
ing из середины этой функции - person k102   schedule 25.10.2011If called from within a function, the return() statement immediately ends execution of the current function, and returns its argument as the value of the function call. return() will also end the execution of an eval() statement or script file.
- person RageZ   schedule 25.10.2011getWhatINeed()
иuseItToDoSomething()
; Функции должны быть небольшими/повторно используемыми, что помогает писать меньше кода. - person Kurt Funai   schedule 25.10.2011