以下是官方文件提供的信息:

有四对不同的 可以是开始和结束标记 用于PHP。其中两个<?php ? > And <script language="php"> </script>, 总是可用的。另外两个 是短标签和ASP风格标签,和 可以打开和关闭从 Php.ini配置文件。因此, 而有些人发现短标签和 ASP样式标签方便,它们都是 便携性较差,而且通常不是 推荐。

根据我的经验,大多数服务器都启用了短标记。打字

<?=

比打字方便多了

<?php echo 

程序员的便利性是一个重要因素,那么为什么不推荐他们呢?


当前回答

<?PHP ?>更适合使用,因为这种编程语言的开发人员已经大量更新了他们的核心语言。你可以看到短标签和长标签之间的区别。

短标签将突出显示为浅红色,而较长的标签将突出显示为深色!

然而,回显某些内容,例如:<?=$variable;?>很好。但更喜欢长标签。<?PHP回显$variable;>

其他回答

因为它会与XML声明产生混淆。不过,很多人都同意你的观点。

另一个问题是,如果用短标签编码所有东西,最后却发现最终的托管服务器已经关闭了它们,这会带来痛苦……

短标签在某些web服务器(共享主机等)中默认是不开启的,所以如果你需要转移到这些服务器上,代码可移植性就成了一个问题。 对某些人来说,可读性可能是个问题。许多开发人员可能会发现<?PHP作为代码块的开始标记比<?当你扫描一个文件时,特别是当你被HTML和PHP紧密交织在一起的代码库困住时。

短标签在php中总是可用的。 因此,您不需要在脚本中重复第一个语句

例子:

    $a =10;
    <?= $a;//10 
    echo "Hellow";//
    echo "Hellow";

   ?>

突然你需要使用一个单独的php脚本,然后你可以 使用它。 例子:

<html>
<head>
<title></title>
</head>  
<body>
<p>hellow everybody<?= hi;?></p>
<p>hellow everybody  </p> 
<p>hellow everybody  </p>   
</body>
</html>

把< ?(不带尾随空格)到<?PHP(后面有一个空格):

find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\?(?!php|=|xml|mso| )/<\?php /g'

把< ?(后面有空格)到<?PHP(保留尾随空格):

find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\? /<\?php /g'

php中有3个标签:

<?PHP ?>不需要任何配置指令 Short_open_tag <??如果short_open_tag选项在 Php.ini已打开 缩短标签<?=自PHP 5.4.0以来,它总是可用的

从PHP 7.0.0删除asp和script标签