Bal*_*usC 204

这是一个简写<?php echo $a; ?>.

无论设置如何,默认情况下都会启用5.4php.ini.

  • 请注意,不需要最后的分号。但是,如果出于某种原因,您需要回到经典标签,那么简单的项目范围搜索/替换 `&lt;?=` 为 `&lt;?php echo` 是不够的。无论如何,截至今天,我希望你们没有任何运行 PHP &lt; 5.6 的生产服务器,因为该版本不再维护([PHP 支持的版本](http://php.net/supported-versions.php))。 (7认同)
  • 它在 php 7 中可用吗? (3认同)
  • 是的。应该默认启用 (3认同)

Wil*_*den 44

这是一个简写:

<?php echo $a; ?>
Run Code Online (Sandbox Code Playgroud)

它们被称为短标签; 请参阅文档中的示例#2 .

  • 请注意,所有服务器都不支持短标签,如下面的答案中所述.他们要求php.ini有`short_open_tag = On` (11认同)

Gor*_*don 15

因为它不会添加任何值来重复它意味着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
        )
)
Run Code Online (Sandbox Code Playgroud)

您可以使用此代码自行测试:

$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
    echo token_name((int) $token[0]), PHP_EOL;
}
Run Code Online (Sandbox Code Playgroud)

解析器令牌列表中,这是T_OPEN_TAG_WITH_ECHO链接到的内容.


Jef*_*rth 8

<?= $a ?>是一样的<? echo $a; ?>,只是为方便起见.


Mat*_*iva 5

这是启用<?php echo $a; ?>ifshort_open_tag的快捷方式。参考:http : //php.net/manual/en/ini.core.php


小智 5

从PHP 5.4.0开始,<?= ?> 即使没有在php.ini中设置short_open_tag ,它 也始终可用。

此外,从PHP 7.0开始,ASP标记: <%, %> 和脚本标记 <script language="php"> 已从PHP中删除。