PHP结束符省略

来源:互联网 发布:java 泛型 反射 编辑:程序博客网 时间:2024/06/05 07:30


我是菜鸟,刚学习PHP,把学习过备的问题记录下来,以备查询。

今天就记录一下PHP 结束符 也就是 ?> 何时可以省略的问题。

首先整个php文件都没有html元素标签。那么就是纯php代码,这时候肯定可以省略结束符的。

有人说php和html混合编写就不能省略,否则,也就是只有php代码那么可以省略。其实这句话是个坑。

根据我的理解应该是这样的:

1、如果php代码嵌入在html标签里,这时候不能省略。比如:

<html>

<?php

$a=1;

echo '$a';

echo "$a";

?>   <!--这个地方的结束标签不能省略,看到注释符号就知道了。你用// 注释就显示注释内容了。 -->

<body>

</body>
</html>

以上是php和html简单的混合,高级的混合更不能省略。如:

<ul>
<?php for($i=1;$i<20;$i++){ ?>
<li>
<?php echo "我在这里输出的是\$i的值:$i"; ?>
</li>
<?php } ?>
</ul>

以上的所有 ?>都不能省略。


2、如果html标签嵌入在php里面(其实是php语句中含有html元素)这时候,可以省略。

<?php

$a=1;

echo '<p>$a<p>';   //就算是单引号,照样不显示<P> 而只显示$a

echo "<p>$a<p>";   //PHP代码里面有<p> 标签,但因为是html标签,因此不会显示出来<p>,而只显示1。

?> //  这个地方的结束标签可以省略


3、至于php代码里含有html元素同时这个html元素里有php代码。我没试验,因此不知道里面php代码可否省略。按照常理应该是外层(也就是整个文件最后 一行的?>)应该可以省略(符合第二条)html元素里面的php代码不能省略(符合第一条)。

<?php

echo '<html>';

echo '<body>';

echo '<a href="index.php?id=<?php echo urldecode("php"); ?>"> language </a> // 这里的?> 猜测不能省略,但我不确定,知道的请留言,谢谢!

echo '</body>';

echo '</html>';

?>  //这个估计可以省略



0 0
原创粉丝点击