请问在php中退出函数之后获取变量新值的最佳方法是什么。我的下面的脚本是一个示例,我想获取变量$ ee的新值,并在调用exit函数后使用它来回显错误消息。
$ee = 0;
$required = array('name', 'location', 'email', 'school', 'age');
if(isset($_POST['name'])){
foreach($required as $ff){
if(empty($_POST[$ff])){
header("location:register.php");
$ee = 1;
exit($ee);
}
}
}
答案 0 :(得分:1)
如果您exit
,则脚本已完成,无法再执行任何其他操作。
回复错误消息(不是因为你正在重定向而是STDOUT)之前你打电话给exit
。
如果您想在脚本完成后使用变量中的数据,那么您必须将其存储在它将保留的位置,然后在脚本(或其他脚本)中将其读回)将来执行。
您可能存储的地方是:
答案 1 :(得分:1)
有register_shutdown_function
函数,允许您注册在exit
事件上升时调用的函数。
void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
在脚本执行完成或调用exit()后注册要执行的回调。
可以多次调用register_shutdown_function(),并且每个调用的顺序与注册时的顺序相同。如果在一个已注册的关闭函数中调用exit(),则处理将完全停止,并且不会调用其他已注册的关闭函数。
答案 2 :(得分:1)
保持该变量存活的最简单方法是PHP
$_GET
,例如:
foreach($required as $ff){
if(empty($_POST[$ff])){
$ee = 1;
$encoded_ee = urlencode($ee);
header("location:register.php?error=" . $encoded_ee);
exit($ee);
}
}