Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP 7 में यूनिफॉर्म वेरिएबल सिंटैक्स

PHP के पुराने संस्करणों में, हमें एक असंगति समस्या का सामना करना पड़ता था। उदाहरण के लिए: ${$first ['name']}। यह सिंटैक्स भ्रम पैदा कर सकता है या हम कह सकते हैं कि सिंटैक्स सुसंगत नहीं है। असंगति समस्या को दूर करने के लिए, PHP 7 ने "यूनिफॉर्म वेरिएबल सिंटैक्स" नामक नया सिंटैक्स जोड़ा।

यूनिफॉर्म वेरिएबल सिंटैक्स वेरिएबल्स का मूल्यांकन बाएं से दाएं करता है। हमें यूनिफॉर्म वेरिएबल सिंटैक्स का उपयोग करने के लिए कर्ली ब्रैकेट्स जोड़ने की आवश्यकता है। उदाहरण के लिए,

echo ${$first['name']};

यूनिफॉर्म वेरिएबल सिंटैक्स ऑपरेटर्स के संयोजन की अनुमति देता है और यह उन एक्सप्रेशन्स में बैकवर्ड कम्पैटिबिलिटी को भी तोड़ सकता है जहां पुराने मूल्यांकन का उपयोग किया जाता है।

उदाहरण

<?php 
    $x = (function() { 
        return 20 - 10; 
    }) 
    (); 
    echo "$x\n"; 
?>

आउटपुट

उपरोक्त PHP प्रोग्राम का आउटपुट होगा:

10

नोट: उपरोक्त प्रोग्राम तुरंत फ़ंक्शन एक्सप्रेशन को इनवोक करेगा।

यूनिफॉर्म वेरिएबल सिंटैक्स मौजूदा सिंटैक्स के नए संयोजनों का उपयोग करता है। उदाहरण के लिए,

$foo(['bar'])();

यूनिफॉर्म वेरिएबल सिंटैक्स फ़ंक्शन्स द्वारा लौटाए गए स्ट्रिंग्स में कैरेक्टर्स को डीरेफरेंस कर सकता है।

[$obj, $obj1] [0]->pro; 

कुछ मामलों में, PHP 7 नेस्टेड डबल कॉलन (::) का समर्थन करता है,

$foo['bar']::$baz;

नेस्टेड मेथड/फ़ंक्शन कॉल्स

हम नेस्टेड मेथड और फ़ंक्शन कॉल्स या किसी भी कॉल करने योग्य को पैरेंथेसिस को दोगुना करके उपयोग कर सकते हैं।

उदाहरण

foo()(); // फ़ंक्शन कॉल करने योग्य द्वारा रिटर्न
$foo->bar()(); // इंस्टेंस मेथड द्वारा रिटर्न
Foo::bar()(); // स्टैटिक मेथड
$foo()(); // किसी अन्य कॉल करने योग्य द्वारा रिटर्न

मनमाना एक्सप्रेशन डीरेफरेंसिंग

PHP में हम अब पैरेंथेसिस सहित किसी भी वैध एक्सप्रेशन को डीरेफरेंस कर सकते हैं। उदाहरण के लिए,

(exp) ['foo'] ; // यह एक सरणी कुंजी एक्सेस करेगा
(exp)->foo; // यह प्रॉपर्टी एक्सेस करेगा
(exp)->foo(); // यह एक मेथड को कॉल करेगा आदि।

उदाहरण

<?php 
    function emp() { 
        echo "This is emp() \n"; 
    }; 
    function dept() { 
        echo "This is dept() \n"; 
        return emp; 
    }; 
    function sub() { 
        echo "This is sub()\n"; 
        return dept; 
    }; 
    sub(); 
    echo "----------------\n"; 
    sub()(); 
    echo "----------------\n"; 
    sub()()(); 
?>

आउटपुट

This is sub() 
----------------
This is sub() 
This is dept() 
----------------
This is sub() 
This is dept() 
This is emp()
  1. PHP वेरिएबल  11:00 AM  को MySQL टाइम फॉर्मेट में कैसे बदलें? PHP वेरिएबल "11:00 AM" को MySQL टाइम फॉर्मेट में कैसे बदलें?

    PHP टाइम स्ट्रिंग को MySQL TIME फॉर्मेट में कन्वर्ट करना PHP में DateTime क्लास का उपयोग करके 11:00 AM जैसे 12-घंटे के फॉर्मेट को MySQL के 24-घंटे के TIME फॉर्मेट (HH:MM:SS) में आसानी से बदला जा सकता है। PHP कोड उदाहरण $phpTime = 11:00 AM; echo PHP टाइम फॉर्मेट: . $phpTime . format(H:i:s); echo M

  1. - PHP में filter_input() फंक्शन

    विवरण filter_input() फंक्शन एक्सटर्नल वेरिएबल का नाम प्राप्त करता है और वैकल्पिक रूप से इसे फिल्टर करता है। सिंटैक्स filter_input(type, var, filtername, options) पैरामीटर्स type − चेक करने के लिए पांच प्रकार के इनपुट हैं यानी INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, या INPUT_ENV। var −

  1. - PHP में extract() फंक्शन

    PHP में extract() फंक्शन सरणी से वर्तमान सिंबल टेबल में चर आयात करता है। यह सफलतापूर्वक निकाले गए चरों की संख्या लौटाता है। सिंटैक्स extract(arr, rules, prefix) पैरामीटर्स arr - निर्दिष्ट सरणी। rules - निर्दिष्ट करता है कि अमान्य चर नाम से कैसे निपटें। संभावित मान: EXTR_OVERWRITE - डिफ़ॉल्ट। टकर