What does '<?=' mean in PHP?
Solution 1:
It's a shorthand for <?php echo $a; ?>
.
It's enabled by default since 5.4.0 regardless of php.ini
settings.
Solution 2:
It's a shorthand for this:
<?php echo $a; ?>
They're called short tags; see example #1 in the documentation.
Solution 3:
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.
Solution 4:
<?= $a ?>
is the same as <? echo $a; ?>
, just shorthand for convenience.