<?php
$a=1;
?>
<?=$a;?>
Que veut <?=
dire exactement?
;
est redondant; comme les réponses le suggèrent, cette balise courte se développe en un echo
avec un point-virgule ajouté à la fin, selon les documents php .
<?php
$a=1;
?>
<?=$a;?>
Que veut <?=
dire exactement?
;
est redondant; comme les réponses le suggèrent, cette balise courte se développe en un echo
avec un point-virgule ajouté à la fin, selon les documents php .
Réponses:
C'est un raccourci pour <?php echo $a; ?>
.
Il est activé par défaut depuis la version 5.4 quels que soient les php.ini
paramètres.
<?=
à l' <?php echo
échelle du projet ne suffirait pas. Quoi qu'il en soit, à partir d'aujourd'hui, j'espère que vous n'avez pas de serveurs de production exécutant PHP <5.6 car ces versions ne sont plus maintenues ( versions supportées par PHP ).
C'est un raccourci pour ceci:
<?php echo $a; ?>
On les appelle des balises courtes; voir l'exemple n ° 2 dans la documentation .
short_open_tag = On
Comme cela n'ajouterait aucune valeur à répéter ce que cela signifie echo
, j'ai pensé que vous aimeriez voir ce que signifie exactement 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
)
)
Vous pouvez utiliser ce code pour le tester vous-même:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;
}
À partir de la liste des jetons d'analyseur , voici les liens vers T_OPEN_TAG_WITH_ECHO .
<?= $a ?>
est le même que <? echo $a; ?>
, juste un raccourci pour plus de commodité.
Depuis PHP 5.4.0,
<?= ?>
sont toujours disponibles même sans le short_open_tag défini dans php.ini.
De plus, à partir de PHP 7.0, les balises ASP:
<%, %>
et la balise script
<script language="php">
sont supprimées de PHP.
C'est un raccourci pour <?php echo $a; ?>
si les short_open_tag
s sont activés. Réf: http://php.net/manual/en/ini.core.php
J'espère qu'il n'est pas obsolète. Bien que l'écriture <? blah code ?>
soit assez inutile et confuse avec XHTML, ce <?=
n'est pas le cas, pour des raisons évidentes. Malheureusement, je ne l'utilise pas, car short_open_tag semble être de plus en plus désactivé.
Mise à jour: J'utilise à <?=
nouveau maintenant, car il est activé par défaut avec PHP 5.4.0. Voir http://php.net/manual/en/language.basic-syntax.phptags.php