What does '<?=' mean in PHP?

<?php

$a=1;

?>
<?=$a;?>

<?=意味着什么?


It's a shorthand for <?php echo $a; ?> <?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.

链接地址: http://www.djcxy.com/p/1850.html

上一篇: <?=是什么意思?

下一篇: 在PHP中'<= ='是什么意思?