3

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

今天在玩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;

但事实上它会发生。

有人对此有任何解释吗?

4

2 回答 2

7

die()exit()函数仅停止脚本的执行,这仅文件被完全解析后发生。

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

于 2012-10-25T10:44:48.607 回答
0

如果那是您的实际代码,那么您有语法错误。PHP 在执行之前解析您的代码。意思是,使用 die 或 exit 无关紧要。如果那不是您的代码(也许您只是将其用作示例)并且事情仍然“奇怪”,您应该知道 die 的工作方式与exit完全相同,其中:

终止脚本的执行。关闭函数和对象析构函数将始终被执行,即使 exit 被调用

于 2012-10-25T10:43:52.963 回答