为什么php在die()之后继续解释;

Bur*_*imi 2 php syntax interpreter

可能重复:
停止php处理文件

今天在玩PHP时,注意到一件奇怪的事情

我有一个代码块,它可以完成一项工作.

$images = $wpdb->get_results($query);
    foreach($images as $image):
        $img = get_post($image->meta_value);
        print_r($img);
    endforeach;
Run Code Online (Sandbox Code Playgroud)

在这段代码之后,我试图死去; 因为我需要分析输出.

$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
Run Code Online (Sandbox Code Playgroud)

这意味着停止这条线,不要走得更远.

但是,我认为它是一种脚本语言,它逐行解析并且不会追踪 die;

但事实上它确实如此.

有人对此有任何解释吗?

Mat*_*ari 6

die()exit()功能仅停止执行脚本,这恰好只有该文件已被完全解析.

如果你要停止解析自己,你必须使用__halt_compiler(),请参阅:http://php.net/manual/en/function.halt-compiler.php