PHP头条
热点:

php中代码开始标志类型(,,,,),php标志


今天在看别人的php代码时候,发现

<?php
$a='test';
?>
<?=$a?>

结果还真的输出了’test’

于是我将代码改成如下:

<?php
    $a='test';
?>
<?
echo $a
 ?>

结构什么也没有,于是我更加好奇。开始查找资料之类。。。
网上资料:
<? ?>是短标签,<?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,然后重启服务器。发现

<?
echo 'hello';
?>

可以输出结果了。
总结:原来short_open_tag控制的是<? ?>标签。而并非<?= ?>标签,<?= ?>标签用于输出变量。当开启short_open_tag,<? ?> 功能和<?php ?> 一样。

如果设置了asp_tags = ON,那么我们还可以这样玩

<%
$a='hello';
echo $a;
%>

备注使用的php版本是:PHP Version 5.5.12
现在总结一下,PHP的几种开始和结束标记

  • <?php ?>
    php默认的开始、结束标签
  • <? ?>
    需要开启short_open_tag ,即short_open_tag = On。
  • <%%>
    需要开启asp_tags ,即asp_tags = On。
  • <?= ?>
    用于输出,等同于- <?php echo ; ?>可以直接使用
  • <%= %>
    用于输出,等同于- <?php echo ; ?>,需要开启asp_tags ,才可以使用

www.phpzy.comtrue/php/19901.htmlTechArticlephp中代码开始标志类型(,,,,),php标志 今天在看别人的php代码时候,发现 ?php $a = 'test' ; ? ? = $a ? 结果还真的输出了’test’ 于是我将代码改成如下: ?php $a = 'test' ; ? ? echo $a ? 结构什么也...

相关文章

    暂无相关文章

PHP之友评论

今天推荐