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

PHP रिटर्निंग मान

परिचय

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

वापसी के साथ कार्य करें

निम्नलिखित उदाहरण में, एक फ़ंक्शन तर्क के रूप में पारित दो पूर्णांकों का योग देता है

उदाहरण

<?php
function add($var1, $var2){
   $var3= $var1+$var2 ;
   return $var3;
}
$x=10;
$y=20;
$z=add($x,$y);
echo "addition=$z";
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

addition=30

रिटर्निंग ऐरे

फ़ंक्शन केवल एक मान लौटा सकता है। हालांकि, कई मानों की सरणी वापस की जा सकती है। निम्नलिखित उदाहरण दो संख्याओं को एक फ़ंक्शन में पास करता है जो जोड़, घटाव, गुणा और भाग की सरणी देता है

उदाहरण

<?php
function result($var1, $var2){
   $r1=$var1+$var2;
   $r2=$var1-$var2;
   $r3=$var1*$var2;
   $r4=$var1/$var2;
   return array("add"=>$r1,"sub"=>$r2,"multiply"=>$r3,"division"=>$r4);
}
$x=10;
$y=20;
$arr=result($x,$y);
foreach ($arr as $k=>$v){
   echo $k . "->" . $v . "\n";
}
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

add->30
sub->-10
multiply->200
division->0.5

संदर्भ द्वारा वापसी

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

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

उदाहरण

<?php
function &myfunction(){
   static $arr=[1,2,3,4,5];
   echo "array elements: ";
   foreach ($arr as $i){
      echo "$i ";
   }
   echo "\n";
   return $arr[2];
}
$var=&myfunction();
echo "returned by reference : $var\n";
$var=100;
$var=&myfunction();
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

array elements: 1 2 3 4 5
returned by reference : 3
array elements: 1 2 100 4 5

चर $x और $y के मान स्वैप () फ़ंक्शन में आपस में बदल दिए जाते हैं। चूंकि, चर संदर्भ द्वारा पारित किए जाते हैं, चर फ़ंक्शन के बाहर भी संशोधित मान दिखाते हैं

रिटर्न टाइप हिंट (रिटर्न टाइप डिक्लेरेशन)

PHP 7 से आगे, आप लौटाए गए चर/वस्तु के लिए प्रकार संकेत निर्दिष्ट कर सकते हैं, जैसे तर्कों के लिए प्रकार घोषित करना संभव है। वापसी प्रकार के लिए भी सभी अदिश प्रकार, वर्ग और सरणी का उपयोग किया जा सकता है

सिंटैक्स

//define a function with type hints for return value
function myfunction($arg1, $arg2): type{
   ..
   ..
   return $var;
}
के लिए टाइप हिंट के साथ एक फंक्शन को परिभाषित करें

स्केलर प्रकार, सरणी, वर्ग/इंटरफ़ेस, चलने योग्य और ऑब्जेक्ट सहित सभी मानक PHP डेटा प्रकार फ़ंक्शन घोषणा में वापसी चर के लिए प्रकार संकेत प्रदान करने के लिए मान्य प्रकार हैं

उदाहरण

<?php
function add($x, $y): float{
   return $x+$y;
}
$var=add(5,8);
var_dump($var);
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

float(13)

सख्त_प्रकार=1 . के साथ घोषणा कथन का उपयोग डेटा प्रकारों के ज़बरदस्ती को रोकेगा

उदाहरण

<?php
declare (strict_types=1);
function add($x, $y): int{
   return $x+$y;
}
$var=add(5.5,8.8);
var_dump($var);
?>

आउटपुट

यह अब इस प्रकार अपवाद देगा -

PHP Fatal error: Uncaught TypeError: Return value of add() must be of the type integer, float returned

  1. PHP में किसी फ़ंक्शन से दो मान लौटाना

    दो चर स्पष्ट रूप से वापस नहीं किए जा सकते हैं, उन्हें एक सूची/सरणी डेटा संरचना में रखा जा सकता है और लौटाया जा सकता है। उदाहरण function factors( $n ) {    // An empty array is declared    $fact = array();    // Loop through it    for ( $i = 1; $i < $n; $i++

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

    array_count_values() फ़ंक्शन प्रत्येक मान के लिए घटनाओं की संख्या के साथ एक सरणी देता है। यह एक सहयोगी सरणी देता है। लौटाए गए सरणी में सरणी के मान के रूप में कुंजियाँ होती हैं, जबकि मान पास किए गए मानों की गणना के रूप में होते हैं। सिंटैक्स array_count_values(arr) पैरामीटर गिरफ्तारी - वह सरणी ज

  1. पायथन में एकाधिक मान लौटाना?

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