今天在看别人的php代码时候,发现
<code><span><span><?php</span><span>$a</span>=<span>'test'</span>; <span>?></span></span><span><span><?</span>=<span>$a</span><span>?></span></span></code>
结果还真的输出了’test’ 
于是我将代码改成如下:
<code><span><span><?php</span><span>$a</span>=<span>'test'</span>; <span>?></span></span><span><span><?</span><span>echo</span><span>$a</span><span>?></span></span></code>
结构什么也没有,于是我更加好奇。开始查找资料之类。。。
网上资料: ?>是短标签,<?php ?>是长标签,端标签一般很少用,指令 = ,它和 echo是等价的,但是使用前需打开short_open_tag 。
short_open_tag 是什么呢?
决定是否允许使用代码开始标志的缩写形式( ?> )。
在php.ini中可以对其进行配置。
问题:我查看自己的php.ini配置文件,发现short_open_tag 并没有打开。如下图: 
但是为什么依旧可以使用= 难道是有多个php.ini,我不知道,于是我通过phpinfo();来查看 
发现short_open_tag = Off。
那么= 为什么可以使用,还是解决不了?
于是我将启动short_open_tag,即设置short_open_tag = On,然后重启服务器。发现
<code><span><span><?</span><span>echo</span><span>'hello'</span>; <span>?></span></span></code>
可以输出结果了。
总结:原来short_open_tag控制的是 ?>标签。而并非= ?>标签,= ?>标签用于输出变量。当开启short_open_tag, ?> 功能和<?php ?> 一样。
如果设置了asp_tags = ON,那么我们还可以这样玩
<code><% <span>$a</span>=<span>'hello'</span>; <span>echo</span><span>$a</span>; %></code>
备注使用的php版本是:PHP Version 5.5.12
现在总结一下,PHP的几种开始和结束标记
<?php ?>= ?>以上就介绍了php中代码开始标志类型,包括了php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号