php文本里 php和html代码谁先执行谁啊
比如php里包含一个html文本,然后html代码里又包含了一个php文本,是按照谁先包含谁被服务器执行吗,即先执行php ,再执行里面的html,然后再执行 html里面的php吗
勤奋的fanhao | 浏览 1322 次 2013-10-13 21:22
最佳答案
先执行PHP代码,PHP和HTML混编的时候你肯定遇到过下面的情况:<?php if(true){ ?><div>true</div><?php }else{ ?><div>false</div><?php } ?>上面的代码结果是浏览器显示的是<div>true</div>如果先执行html那么结果你就发现PHP的逻辑判断就不会生效了。所以先执行的PHP,而PHP文件里的HTML代码,程序会默认为是一个字符串被PHP输出。以上代码的最终呈现效果如果全换成PHP的话将会是下面的代码:<?php if(true){echo '<div>true</div>';}else{echo '<div>false</div>';}?>
追问
有点昏,就是想问一下,php文本里的php代码包含html代码 ,html代码再包含php代码, 是按照顺序先执行第一个php代码 再执行里面的html 代码,最后再执行html里面的php代码?还是说我把php代码都执行完了,再回过头执行html代码 或者说php都执行完了直接把html代码扔给浏览器执行?虽然有点啰嗦 但希望大神给予帮助 谢谢
追答
首先PHP的代码会从上至下而执行。逐行执行,比如有2个文件,分别是A和B:A文件代码:<?phpecho "<html></html>";include "B.php";echo "a.php";?>B文件代码:<?phpecho "b.php";?>最终的执行效果是:<?phpecho "<html></html>";echo "b.php";echo "a.php";?>不知道这样说明 你能明白不?还有就是html不用执行,最终PHP程序之后返回的都将是html代码。以上代码最终会返回给浏览器的html代码是:<html></html>a.phpb.php然后由浏览器来解析PHP返回的HTML代码!
追问
原来如此 ,我确认下我的理解,您看可对。就是说在php引擎里仅执行php代码(不执行html代码),把php代码执行完了,把解析后的php代码,此时应是html代码,连同原本的html代码一起返回给浏览器,此时浏览器再按html的顺序执行! 是吧,大神
追答
嗯是的!你可以这么理解!