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

संदर्भ द्वारा PHP पासिंग

परिचय

PHP में, किसी फ़ंक्शन के तर्कों को मान द्वारा पारित किया जा सकता है या संदर्भ द्वारा पारित किया जा सकता है। डिफ़ॉल्ट रूप से, वास्तविक तर्कों के मान औपचारिक तर्कों के लिए मूल्य द्वारा पारित किए जाते हैं जो फ़ंक्शन के अंदर स्थानीय चर बन जाते हैं। इसलिए, इन चरों में संशोधन वास्तविक तर्क चर के मान को नहीं बदलता है।

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

मूल्य से गुजरें

निम्नलिखित उदाहरण में, दो चर स्वैप () फ़ंक्शन में पास किए गए हैं। भले ही स्वैपिंग मैकेनिज्म फ़ंक्शन के अंदर होता है, लेकिन यह वेरिएबल के मानों को नहीं बदलता है जो पारित किए गए थे

उदाहरण

<?php
function swap($arg1, $arg2){
   echo "inside function before swapping: arg1=$arg1 arg2=$arg2\n";
   $temp=$arg1;
   $arg1=$arg2;
   $arg2=$temp;
   echo "inside function after swapping: arg1=$arg1 arg2=$arg2\n";
}
$arg1=10;
$arg2=20;
echo "before calling function : arg1=$arg1 arg2=$arg2\n";
swap($arg1, $arg2);
echo "after calling function : arg1=$arg1 arg2=$arg2\n";
?>

आउटपुट

यह उदाहरण निम्न आउटपुट देता है

before calling function : arg1=10 arg2=20
inside function before swapping: arg1=10 arg2=20
inside function after swapping: arg1=20 arg2=10
after calling function : arg1=10 arg2=20

संदर्भ द्वारा पास करें

संदर्भ द्वारा तर्क प्राप्त करने के लिए, उपयोग किए गए चर औपचारिक तर्क को और प्रतीक द्वारा उपसर्ग किया जाना चाहिए। यह फ़ंक्शन को कॉल करने के लिए उपयोग किए जाने वाले चर का संदर्भ देता है। इसलिए, फ़ंक्शन के अंदर की अदला-बदली का परिणाम उन मूल चरों में भी दिखाई देगा जो पारित किए गए थे

उदाहरण

<?php
function swap(&$arg1, &$arg2){
   echo "inside function before swapping: arg1=$arg1 arg2=$arg2\n";
   $temp=$arg1;
   $arg1=$arg2;
   $arg2=$temp;
   echo "inside function after swapping: arg1=$arg1 arg2=$arg2\n";
}
$arg1=10;
$arg2=20;
echo "before calling function : arg1=$arg1 arg2=$arg2\n";
swap($arg1, $arg2);
echo "after calling function : arg1=$arg1 arg2=$arg2\n";
?>

आउटपुट

अदला-बदली का परिणाम इस प्रकार दिखाया जाएगा

before calling function : arg1=10 arg2=20
inside function before swapping: arg1=10 arg2=20
inside function after swapping: arg1=20 arg2=10
after calling function : arg1=20 arg2=10

निम्नलिखित उदाहरण में, सरणी तत्व सरणी आरंभीकरण से पहले घोषित व्यक्तिगत चर के संदर्भ हैं। यदि तत्व को संशोधित किया जाता है, तो चर का मान भी बदल जाता है

उदाहरण

<?php
$a = 10;
$b = 20;
$c=30;
$arr = array(&$a, &$b, &$c);
for ($i=0; $i<3; $i++)
$arr[$i]++;
echo "$a $b $c";
?>

आउटपुट

$a, $b और $c के मान भी बढ़ जाते हैं

11 21 31

किसी सरणी को किसी फ़ंक्शन के संदर्भ में पास करना भी संभव है

उदाहरण

<?php
function arrfunction(&$arr){
   for ($i=0;$i<5;$i++)
      $arr[$i]=$arr[$i]+10;
}
$arr=[1,2,3,4,5];
arrfunction($arr);
foreach ($arr as $i)
echo $i . " ";
?>

आउटपुट

संशोधित सरणी निम्नानुसार प्रदर्शित की जाएगी

11 12 13 14 15

वस्तु और संदर्भ

PHP में, वस्तुओं को डिफ़ॉल्ट रूप से संदर्भों द्वारा पारित किया जाता है। जब किसी वस्तु का संदर्भ बनाया जाता है, तो उसका संदर्भ भी तर्क के रूप में $this के रूप में भेजा जाता है जो कि पहली वस्तु का भी संदर्भ होता है

उदाहरण

<?php
class test1{
   private $name;
   function getname(){
      return $this->name;
   }
   function setname($name){
      $this->name=$name;
   }
}
$obj1=new test1();
$obj2=&$obj1;
$obj1->setname("Amar");
echo "name: " .$obj2->getname();
?>

आउटपुट

उपरोक्त कोड निम्न आउटपुट प्रदर्शित करेगा

name: Amar

  1. PHP अधिकतम () फ़ंक्शन

    परिभाषा और उपयोग अधिकतम () फ़ंक्शन सरणी में उच्चतम तत्व देता है, या दो या अधिक अल्पविराम से अलग किए गए मापदंडों में से उच्चतम देता है। सिंटैक्स max ( array $values ) : mixed या max ( mixed $value1 [, mixed $... ] ) : mixed पैरामीटर Sr.No पैरामीटर और विवरण 1 मान यदि केवल एक पैरामीटर दिया गया

  1. PHP लॉग 10 () फ़ंक्शन

    परिभाषा और उपयोग लॉग10 () फ़ंक्शन किसी संख्या के आधार-10 लघुगणक की गणना करता है। बेस-10 लघुगणक को सामान्य या सैंडर्ड एल्गोरिथम भी कहा जाता है। log10(x) फ़ंक्शन लॉग की गणना करता है10 एक्स। यह निम्नलिखित समीकरण द्वारा प्राकृतिक एल्गोरिथम से संबंधित है - लॉग 10 x=लॉगई x/लॉगई 10 ताकि लॉग 10 100=लॉ

  1. पीएचपी लॉग () समारोह

    परिभाषा और उपयोग लॉग () फ़ंक्शन किसी संख्या के प्राकृतिक लघुगणक की गणना करता है। लघुगणक घातांक का विलोम है। अगर 102 =100, इसका मतलब है लॉग10 100=2. प्राकृतिक लघुगणक की गणना यूलर संख्या e . के साथ की जाती है आधार के रूप में। PHP में, पूर्वनिर्धारित स्थिरांक M_E e का मान देता है जो 2.7182818284590