处理和执行之间的区别?

时间:2013-02-04 08:08:48

标签: php return

我遇到了来自php.net的注释(最后一个注释)。离开说明的人说:

  

在全局范围内使用return将结束执行但不处理。

我不知道“执行”和“处理”的确切含义以及它们之间的区别。

1 个答案:

答案 0 :(得分:1)

请注意,这两个术语都是由用户编写的,并非来自PHP手册本身,但是同样的PHP页面可以回答您的问题:

  

如果从全局范围调用,则执行当前脚本   文件已结束。如果包含或需要当前脚本文件,   然后将控制权传递回调用文件。而且,如果   包含当前脚本文件,然后返回给予的值   作为包含调用的值返回。如果从中调用return   在主脚本文件中,脚本执行结束。如果   当前脚本文件由auto_prepend_file或   php.ini中的auto_append_file配置选项,然后是该脚本   文件的执行结束。

因此,即使当使用return返回当前文件的Processing时,它也会将控制权返回给包含它的文件(如果是)。如果它没有包含在任何地方那么处理和执行都将停在那里

此网站上的一条重要评论也解释了

  

现在,php工作的方式是在它执行实际代码之前它会做什么   你称之为“处理”实际上只是一种语法检查。它做到了这一点   每次执行该文件之前包含的每个文件。这个   是一个很好的功能,因为它确保不运行任何部分   非功能代码。你的例子可能也说过......   在执行此语法检查时,它不执行代码,只是运行   通过您的文件(或包含)检查之前的语法错误   执行。为了表明这一点,你应该把回声“b”;并呼应“a”;   在每个文件的开头。这将显示“b”被回显一次,   然后“a”只回显一次,因为它第一次是语法   检查了a.php,没关系。但第二次语法检查失败   因此它没有再次执行并终止执行   应用程序由于语法错误。

两个行情的参考:PHP Manual