What does '<?=' mean in PHP? What does '<?=' mean in PHP? php php

What does '<?=' mean in PHP?


It's a shorthand for <?php echo $a; ?>.

It's enabled by default since 5.4 regardless of php.ini settings.


It's a shorthand for this:

<?php echo $a; ?>

They're called short tags; see example #2 in the documentation.


Since it wouldn't add any value to repeat that it means echo, I thought you'd like to see what means in PHP exactly:

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        ))

You can use this code to test it yourself:

$tokens = token_get_all('<?=$a;?>');print_r($tokens);foreach($tokens as $token){    echo token_name((int) $token[0]), PHP_EOL;}

From the List of Parser Tokens, here is what T_OPEN_TAG_WITH_ECHO links to.