<?php
$a=1;
?>
<?=$a;?>
<?到底是什么意思?
<?php
$a=1;
?>
<?=$a;?>
<?到底是什么意思?
当前回答
它是这个的简写:
<?php echo $a; ?>
它们被称为短标签;请参阅文档中的示例#1。
其他回答
它是这个的简写:
<?php echo $a; ?>
它们被称为短标签;请参阅文档中的示例#1。
从PHP 5.4.0开始, <?= > ? 即使没有在php.ini中设置short_open_tag,也始终可用。
此外,从PHP 7.0开始,ASP标记: < %, % > 还有脚本标签 < = >“php脚本语言 从PHP中删除。
它是<?PHP返回$a;? >。
自5.4.0以来,无论php.ini设置如何,它都默认启用。
我希望它不会被弃用。在写<?>与XHTML是相当不必要和容易混淆的,<?不是,原因很明显。不幸的是,我不使用它,因为short_open_tag似乎越来越被禁用。
更新:我使用<?=,因为它在PHP 5.4.0中默认启用。 参见http://php.net/manual/en/language.basic-syntax.phptags.php
因为它不会添加任何值来重复它意味着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;
}
从解析器令牌列表中,T_OPEN_TAG_WITH_ECHO链接到这里。