可能重复:
stop php processing file
今天玩PHP的时候注意到一件奇怪的事情
我有一个代码块,它可以完成工作。
$images = $wpdb->get_results($query);
foreach($images as $image):
$img = get_post($image->meta_value);
print_r($img);
endforeach;
在这段代码之后,我试图死去;因为我需要分析输出。
$images = $wpdb->get_results($query);
foreach($images as $image):
$img = get_post($image->meta_value);
print_r($img);
endforeach;
die;bla bla bla qit error !98123
这意味着停止这条线并且不要走得更远。
但是,我认为它是一种脚本语言,它逐行解析而不会追踪die;
但事实上它确实如此。
有人对此有任何解释吗?
答案 0 :(得分:6)
die()
和exit()
函数仅停止脚本的执行,只有 文件完全解析后才会发生强>
如果您要停止解析本身,则必须使用__halt_compiler()
,请参阅:http://php.net/manual/en/function.halt-compiler.php
答案 1 :(得分:0)
如果这是您的实际代码,那么您会遇到语法错误。 PHP在执行代码之前解析它们。意思是,如果你使用die或exit就没关系。如果那不是你的代码(也许你只是用它作为一个例子)并且事情仍然是“奇怪的”,你应该知道die的工作方式与exit完全相同,其中:
终止脚本的执行。关机功能和对象 destructors 将始终执行,即使调用exit 。