209 votes

Qu'est-ce que ' <?=' mean in PHP?

 <?php

$a=1;

?>
<?=$a;?>
 

Qu'est-ce que <?= signifie exactement?

292voto

BalusC Points 498232

C'est un raccourci pour <?php echo $a; ?> .

Cela ne fonctionne que si short_open_tag est activé. En passant, il y a une rumeur selon laquelle il va devenir obsolète en PHP6. Il est activé par défaut depuis la 5.4.

55voto

Will Vousden Points 13332

C'est un raccourci pour cela:

 <?php echo $a; ?>
 

Ils s'appellent des balises courtes; voir exemple n ° 2 dans la documentation .

23voto

Gordon Points 156415

Puisqu'il n'ajoute aucune valeur à répéter que cela signifie echo , j'ai pensé que vous voudriez 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;
}
 

Dans la liste des jetons d’analyseur , voici le lien vers T_OPEN_TAG_WITH_ECHO .

12voto

Jeffrey Aylesworth Points 2889

<?= $a ?> est identique à <? echo $a; ?> , juste en abrégé pour plus de commodité.

8voto

Inspire Points 1362
 <?=$a; ?>
 

est un raccourci pour:

 <?php echo $a; ?>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X