Что означает «<? =» В PHP?

<?php $a=1; ?> <?=$a;?> 

Что означает <?= Означает?

Solutions Collecting From Web of "Что означает «<? =» В PHP?"

Это сокращение от <?php echo $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; ?> <? echo $a; ?> <? echo $a; ?> , просто сокращенное для удобства.

 <?=$a; ?> 

это ярлык для:

 <?php echo $a; ?> 

Это ярлык для <?php echo $a; ?> <?php echo $a; ?> если short_open_tag s включены. Ссылка: http://php.net/manual/en/ini.core.php

Начиная с PHP 5.4.0, <?= ?> Всегда доступны даже без short_open_tag, установленного в php.ini.

Кроме того, с PHP 7.0 теги ASP: <%, %> и тег <script language="php"> удаляются из PHP.

Надеюсь, он не устареет. При написании <? blah code ?> <? blah code ?> довольно бесполезен и путается с XHTML, <?= нет, по понятным причинам. К сожалению, я не использую его, потому что short_open_tag, кажется, все больше отключается.

Обновление: теперь я использую <?= Снова, потому что он включен по умолчанию с помощью PHP 5.4.0. См. http://php.net/manual/en/language.basic-syntax.phptags.php