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

PHP में पास बाय रेफरेंस और पास बाय वैल्यू क्या है?


इस लेख में, हम PHP में पास बाय वैल्यू और पास बाय रेफरेंस के बारे में जानेंगे।

आइए, इन दो अवधारणाओं को विस्तार से समझते हैं।

PHP में आम तौर पर, हमने फ़ंक्शन को पास किए गए मान दृष्टिकोण के साथ तर्कों को पारित करने के लिए अनुसरण किया। हम इस अभ्यास का पालन कर रहे हैं क्योंकि यदि फ़ंक्शन के भीतर तर्क का मान बदल जाता है, तो यह फ़ंक्शन के बाहर नहीं बदलता है।

कुछ मामलों में हमें फ़ंक्शन तर्कों को संशोधित करने की आवश्यकता हो सकती है, इसलिए किसी फ़ंक्शन को इसके तर्कों को संशोधित करने की अनुमति देने के लिए, उन्हें संदर्भ द्वारा पारित किया जाना चाहिए।

आइए संदर्भ द्वारा पारित के साथ शुरू करें। जैसा कि पहले ही उल्लेख किया गया है, हम एक फ़ंक्शन के संदर्भ में एक चर पारित कर सकते हैं ताकि फ़ंक्शन चर को संशोधित कर सके। संदर्भ द्वारा पारित मापदंडों को पारित करने की प्रक्रिया शुरू करने के लिए, फ़ंक्शन परिभाषा में तर्क नाम के लिए एक एम्परसेंड (&) तैयार करें।

उदाहरण

आइए इसे एक साधारण उदाहरण के साथ परखें।

<?php
   function calculate(&$a){
      $a++;
   }
   $a=5;
   calculate($a);
   echo $a;
?>

आउटपुट

6

स्पष्टीकरण

यहां हमने वेरिएबल $a घोषित किया है और इसे फंक्शन कैलकुलेट () के संदर्भ में पास के रूप में पास किया है। इसलिए जैसा कि सिद्धांत कहता है कि यदि फ़ंक्शन के अंदर $a का मान बदल जाता है तो यह फ़ंक्शन के बाहर भी बदल जाएगा।

नोट

फ़ंक्शन कॉल पर कोई संदर्भ चिह्न नहीं है - केवल फ़ंक्शन परिभाषाओं पर। संदर्भ द्वारा तर्क को सही ढंग से पारित करने के लिए अकेले फ़ंक्शन परिभाषाएं पर्याप्त हैं। जब आप गणना करने के लिए उपयोग करते हैं (&$a); यह एक त्रुटि फेंकता है।

उदाहरण

आइए पास बाय वैल्यू को समझने के लिए एक उदाहरण का परीक्षण करें।

<?php
   function calculate($a){
      $a++;
   echo $a."<br/>";
   }
   $a=5;
   calculate($a);
   echo $a;
?>

आउटपुट

6
5

स्पष्टीकरण

यहां हमने वैल्यू को पास बाय वैल्यू के रूप में फंक्शन कैलकुलेट () में पास किया है। इसका मान फ़ंक्शन के अंदर बदल जाता है लेकिन यह फ़ंक्शन के बाहर प्रतिबिंबित नहीं होता है। वेरिएबल का मान फ़ंक्शन के बाहर समान रहता है।


  1. PHP में count_chars () फ़ंक्शन

    count_charss() विधि का उपयोग स्ट्रिंग में प्रयुक्त वर्ण के बारे में जानकारी देने के लिए किया जाता है सिंटैक्स cont_chars(str, mode) पैरामीटर str - जाँच की जाने वाली स्ट्रिंग। मोड - वापसी मोड निर्दिष्ट करता है। 0 डिफ़ॉल्ट है। संभावित वापसी मोड हैं - 0 - कुंजी के रूप में ASCII मान वाली एक

  1. C# में पास बाय वैल्यू और रेफरेंस पैरामीटर में क्या अंतर है?

    संदर्भ पैरामीटर एक संदर्भ पैरामीटर एक चर के स्मृति स्थान का संदर्भ है। संदर्भ पैरामीटर उसी स्मृति स्थान का प्रतिनिधित्व करते हैं जो वास्तविक पैरामीटर के रूप में विधि को प्रदान किए जाते हैं। जब आप संदर्भ द्वारा पैरामीटर पास करते हैं, तो मान पैरामीटर के विपरीत, इन पैरामीटर के लिए एक नया संग्रहण स्था

  1. पायथन में संदर्भ बनाम मूल्य से गुजरें

    पायथन भाषा में सभी पैरामीटर (तर्क) संदर्भ द्वारा पारित किए जाते हैं। इसका मतलब है कि यदि आप किसी फ़ंक्शन के भीतर पैरामीटर को संदर्भित करते हैं, तो परिवर्तन कॉलिंग फ़ंक्शन में भी वापस दिखाई देता है। उदाहरण #!/usr/bin/python # Function definition is here def changeme( mylist ): "This changes a pa