PHP में '<?=' का अर्थ क्या है?




syntax (6)

<?php

$a=1;

?>
<?=$a;?>

<?= वास्तव में क्या मतलब है?


PHP 5.4.0 के रूप में, <?= ?> हमेशा php.ini में short_open_tag सेट के बिना भी उपलब्ध होते हैं।

इसके अलावा, PHP 7.0 के रूप में, एएसपी टैग: <%, %> और स्क्रिप्ट टैग <script language="php"> PHP से हटा दिए जाते हैं।


चूंकि यह दोहराने के लिए कोई भी मूल्य नहीं जोड़ता है, इसका अर्थ है echo , मैंने सोचा कि आप देखना चाहते हैं कि 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
        )
)

आप इस कोड का प्रयोग स्वयं परीक्षण करने के लिए कर सकते हैं:

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

पार्सर टोकन की सूची से , documentation


यह <?php echo $a; ?> लिए एक लघुरूप <?php echo $a; ?> <?php echo $a; ?>

यह php.ini सेटिंग्स के बावजूद 5.4 के बाद डिफ़ॉल्ट रूप से सक्षम है।


यह <?php echo $a; ?> लिए शॉर्टकट <?php echo $a; ?> <?php echo $a; ?> अगर short_open_tag एस सक्षम हैं। रेफरी: http://php.net/manual/en/ini.core.php


<?= $a ?> <? echo $a; ?> जैसा ही है <? echo $a; ?> <? echo $a; ?> सुविधा के लिए सिर्फ shorthand <? echo $a; ?>


<?=$a; ?>

के लिए एक शॉर्टकट है:

<?php echo $a; ?>




syntax