<?php
$a=1;
?>
<?=$a;?>
Что означает <?=
?
<?php
$a=1;
?>
<?=$a;?>
Что означает <?=
?
Это сокращение для <?php echo $a; ?>
.
Он включен по умолчанию начиная с 5.4 независимо от настроек php.ini
.
Это сокращение для этого:
<?php echo $a; ?>
Они называются короткими тегами; см. пример № 2 в документации.
Так как он не добавит никакого значения, чтобы повторить, что это означает 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;
}
Из Список токенов Parser, вот что T_OPEN_TAG_WITH_ECHO ссылки на.
<?= $a ?>
совпадает с <? echo $a; ?>
, просто сокращается для удобства.
<?=$a; ?>
является ярлыком для:
<?php echo $a; ?>
Это сокращение для <?php echo $a; ?>
, если short_open_tag
включено. Ссылка: 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
Начиная с PHP 5.4.0, <?= ?>
всегда доступны даже без short_open_tag, установленного в php.ini.
Кроме того, начиная с PHP 7.0, теги ASP: <%, %>
и тег script <script language="php">
удаляются из PHP.
Попробуйте найти символы на SymbolHound: поисковая система для программистов. Вот результаты для ваш запрос.
Надеюсь, что это полезно! -Tom (SH соучредитель)