PHP中include是否执行被包含文件代码及执行顺序问询
PHP include语句常见问题解答
1. include语句是否会执行被包含文件中的PHP代码?
当然会!当你用include(或者require、require_once这类类似的包含语句)引入一个文件时,PHP会把被包含文件里的所有PHP代码当作当前脚本的一部分来执行——不管是变量定义、函数声明,还是直接的输出语句,都会被正常处理。
举个直观的例子:
假设你有个header.php文件,内容如下:
<?php echo "这是页面头部内容<br>"; $siteTitle = "我的个人博客"; ?>
然后在index.php里写:
<?php include 'header.php'; echo "欢迎访问" . $siteTitle; ?>
运行index.php时,会先输出“这是页面头部内容”,接着输出“欢迎访问我的个人博客”,这就直接证明了被包含文件里的代码确实被执行了。
2. 若include会执行被包含文件的PHP代码,该代码是先于包含它的文件内代码执行,还是并行执行?
绝对不是并行执行哦,PHP是单线程顺序执行的脚本语言。当解释器执行到include语句的时候,会立刻暂停当前脚本的执行流程,转而去从头到尾执行被包含文件里的所有代码,等被包含文件的代码全部执行完毕后,才会回到原来的脚本中,继续执行include语句后面的代码。
再用例子验证一下:included.php内容:
<?php echo "执行被包含文件的代码<br>"; ?>
main.php内容:
<?php echo "开始执行主文件代码<br>"; include 'included.php'; echo "回到主文件,继续执行后续代码<br>"; ?>
运行main.php的输出顺序是固定的:
开始执行主文件代码
执行被包含文件的代码
回到主文件,继续执行后续代码
完全是按线性顺序执行,不存在并行的情况~
内容的提问来源于stack exchange,提问作者Mikel
相关产品推荐
相关产品推荐

