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


159
<?php

$a=1;

?>
<?=$a;?>

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


साइड नोट: यह ASP.NET MVC विचारों में बड़े पैमाने पर उपयोग किया जाता है।
ओमर


12
ध्यान दें कि ;बेमानी है; जैसा कि उत्तर बताते हैं कि यह लघु-टैग php दस्तावेजों केecho अनुसार, अर्धविराम के साथ अंत में जोड़ा गया है ।
सिर्फ-यति

जवाबों:


229

यह एक आशुलिपि है <?php echo $a; ?>

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


1
यह php 7 में उपलब्ध है?
zachdyer

4
ध्यान दें कि अंतिम अर्ध-बृहदान्त्र की आवश्यकता नहीं है। लेकिन अगर, किसी भी कारण, आप क्लासिक टैग करने के लिए वापस जाने की जरूरत है, एक साधारण परियोजना चौड़ा खोज / बदलें <?=के लिए <?php echowould'nt पर्याप्त हो। वैसे भी आज तक मुझे उम्मीद है कि आप लोगों के पास PHP <5.6 चलाने वाला कोई भी प्रोडक्शन सर्वर नहीं होगा क्योंकि यह संस्करण अब भी नहीं बनाए गए हैं ( PHP समर्थित संस्करण )।
ट्विस्टो

47

यह इसके लिए एक आशुलिपि है:

<?php echo $a; ?>

उन्हें लघु टैग कहा जाता है; प्रलेखन में उदाहरण # 2 देखें ।


12
कृपया ध्यान दें कि सभी सर्वर संक्षिप्त टैग का समर्थन नहीं करते हैं जैसा कि नीचे दिए गए उत्तर में दिया गया है। उन्हें short_open_tag = On
Corey Ballou

17

चूँकि यह दोहराने का कोई मूल्य नहीं होगा 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;
}

पार्सर टोकन की सूची से , यहाँ T_OPEN_TAG_WITH_ECHO से क्या लिंक है


टोकन मुझे अधिक विवरण बताने में विफल रहा।
user198729


7

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

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




3

मुझे आशा है कि यह पदावनत नहीं होगा। हालांकि <? blah code ?>, XHTML के साथ लिखना स्पष्ट रूप से अनावश्यक और भ्रमपूर्ण <?=है, स्पष्ट कारणों से नहीं। दुर्भाग्य से मैं इसका उपयोग नहीं करता हूं, क्योंकि short_open_tag अधिक से अधिक अक्षम होने लगता है।

अद्यतन: मैं <?=अब फिर से उपयोग करता हूं , क्योंकि यह PHP 5.4.0 के साथ डिफ़ॉल्ट रूप से सक्षम है। Http://php.net/manual/en/language.basic-syntax.phptags.php देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.