Answers:
short_open_tag = On
由于它不会增加任何值来重复它的意思echo
,所以我想您想确切地了解PHP的意思:
Array
(
[0] => Array
(
[0] => 368 // T_OPEN_TAG_WITH_ECHO
[1] => <?=
[2] => 1
)
[1] => Array
(
[0] => 309 // T_VARIABLE
[1] => $a
[2] => 1
)
[2] => ; // UNKNOWN (because it is optional (ignored))
[3] => Array
(
[0] => 369 // T_CLOSE_TAG
[1] => ?>
[2] => 1
)
)
您可以使用以下代码自己对其进行测试:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
从PHP 5.4.0开始,<?= ?>
即使没有在php.ini中设置short_open_tag ,
它始终可用。
此外,从PHP 7.0开始,ASP标记:
<%, %>
和脚本标记
<script language="php">
已从PHP中删除。
这是一个捷径<?php echo $a; ?>
,如果short_open_tag
s的启用。参考:http : //php.net/manual/en/ini.core.php
我希望它不会被弃用。尽管<? blah code ?>
显然没有必要使用XHTML进行编写和混淆<?=
,但出于明显的原因,编写并没有这样做。不幸的是,我没有使用它,因为short_open_tag似乎越来越被禁用。
更新:我现在<?=
再次使用,因为默认情况下PHP 5.4.0启用了它。参见http://php.net/manual/en/language.basic-syntax.phptags.php