fin - ¿Qué significa ''<?='' En PHP?
php</ php (8)
<?php
$a=1;
?>
<?=$a;?>
¿Qué significa <?=
Exactamente?
A partir de PHP 5.4.0, <?= ?>
Están siempre disponibles incluso sin el short_open_tag establecido en php.ini.
Además, a partir de PHP 7.0, las etiquetas ASP: <%, %>
y la etiqueta de <script language="php">
se eliminan de PHP.
Es un atajo para <?php echo $a; ?>
<?php echo $a; ?>
si las short_open_tag
s están habilitadas. Ref: http://php.net/manual/en/ini.core.php
Es una forma abreviada de <?php echo $a; ?>
<?php echo $a; ?>
.
Está habilitado por defecto desde 5.4 independientemente de la configuración de php.ini
.
Es una forma abreviada de esto:
<?php echo $a; ?>
Se llaman etiquetas cortas; ver ejemplo # 2 en la documentation .
Espero que no se desaproveche. Mientras escribes <? blah code ?>
<? blah code ?>
es bastante innecesario y confuso con XHTML, <?=
no lo es, por razones obvias. Desafortunadamente no lo uso, porque short_open_tag parece estar deshabilitado cada vez más.
Actualización: uso <?=
Nuevamente ahora, porque está habilitado por defecto con PHP 5.4.0. Ver http://php.net/manual/en/language.basic-syntax.phptags.php
Ya que no agregaría ningún valor para repetir que significa echo
, pensé que te gustaría ver exactamente lo que significa en 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
)
)
Puede usar este código para probarlo usted mismo:
$tokens = token_get_all(''<?=$a;?>'');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
De la lista de tokens de analizador , documentation .
<?= $a ?>
es lo mismo que <? echo $a; ?>
<? echo $a; ?>
<? echo $a; ?>
, solo taquigrafía por conveniencia.
<?=$a; ?>
es un atajo para:
<?php echo $a; ?>