<?php
$a=1;
?>
<?=$a;?>
Qu'est-ce que <?=
veut dire exactement?
C'est un raccourci pour <?php echo $a; ?>
.
Il est activé par défaut depuis 5.4 indépendamment de php.ini
paramètres.
C'est un raccourci pour cela:
<?php echo $a; ?>
Ils s'appellent des balises courtes; voir l'exemple n ° 2 dans la documentation .
Puisqu'il n'ajoute aucune valeur à répéter que cela signifie echo
, j'ai pensé que vous voudriez voir ce que signifie PHP exactement:
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 Liste des jetons d’analyseur , voici ce à quoi T_OPEN_TAG_WITH_ECHO est lié .
<?= $a ?>
est le même que <? echo $a; ?>
, juste un raccourci pour plus de commodité.
<?=$a; ?>
est un raccourci pour:
<?php echo $a; ?>
À partir de PHP 5.4.0, <?= ?>
sont toujours disponibles même sans le short_open_tag défini dans le fichier php.ini.
De plus, à partir de PHP 7.0, le ASP tags: <%, %>
et la balise de script <script language="php">
sont supprimés de PHP.
C'est un raccourci pour <?php echo $a; ?>
si short_open_tag
s sont activés. Réf.: http://php.net/manual/en/ini.core.php
J'espère que ça ne devient pas obsolète. En écrivant <? blah code ?>
est assez inutile et source de confusion avec XHTML, <?=
n'est pas, 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 bien <?=
_ _ encore une fois, car il est activé par défaut avec PHP 5.4.0. Voir http://php.net/manual/fr/language.basic-syntax.phptags .php