<?php
$a=1;
?>
<?=$a;?>
Що <?=
саме означає?
;
надлишок; оскільки відповіді передбачають, що цей короткий тег розширюється до знаку echo
з крапкою з комою, доданої до кінця, згідно з документами php .
<?php
$a=1;
?>
<?=$a;?>
Що <?=
саме означає?
;
надлишок; оскільки відповіді передбачають, що цей короткий тег розширюється до знаку echo
з крапкою з комою, доданої до кінця, згідно з документами php .
Відповіді:
Це стенограма для <?php echo $a; ?>
.
Він включений за замовчуванням з 5.4 незалежно від php.ini
налаштувань.
<?=
на проект не <?php echo
буде достатньо. Так чи інакше, на сьогодні, я сподіваюся, у вас, хлопці, немає виробничих серверів, на яких працює PHP <5.6, оскільки ці версії вже не підтримуються ( підтримувані PHP версії ).
Це скорочення для цього:
<?php echo $a; ?>
Їх називають короткими тегами; див. приклад №2 в документації .
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;
}
З Список Parser лексем , ось що T_OPEN_TAG_WITH_ECHO посилання .
<?= $a ?>
це те саме, що <? echo $a; ?>
, лише скорочення для зручності.
Це ярлик, <?php echo $a; ?>
якщо short_open_tag
s включено. Посилання: http://php.net/manual/en/ini.core.php
Я сподіваюся, що це не застаріло. Хоча писання <? blah code ?>
є досить непотрібним та заплутаним у XHTML <?=
, з очевидних причин це не так. На жаль, я не користуюсь цим, оскільки, здається, короткий_оп_таг дедалі більше відключається.
Оновлення: я використовую <?=
знову, тому що це за замовчуванням увімкнено PHP 5.4.0. Дивіться http://php.net/manual/en/language.basic-syntax.phptags.php