php文本里 php和html代码谁先执行谁啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php文本里 php和html代码谁先执行谁啊相关的知识,希望对你有一定的参考价值。

php文本里 php和html代码谁先执行谁啊

比如php里包含一个html文本,然后html代码里又包含了一个php文本,是按照谁先包含谁被服务器执行吗,即先执行php ,再执行里面的html,然后再执行 html里面的php吗
勤奋的fanhao | 浏览 1322 次  2013-10-13 21:22
最佳答案
 
先执行PHP代码,PHPHTML混编的时候你肯定遇到过下面的情况:
<?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文件代码:
<?php
echo "<html></html>";
include "B.php";
echo "a.php";
?>
B文件代码:
<?php
echo "b.php";
?>
最终的执行效果是:
<?php
echo "<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的顺序执行! 是吧,大神
 
追答
嗯是的!你可以这么理解!

以上是关于php文本里 php和html代码谁先执行谁啊的主要内容,如果未能解决你的问题,请参考以下文章

PHP基础

如何执行字符串的PHP代码

php基础

PHP使用前的了解

PHP简介

求教在php里执行jQuery代码