2015-05-28 15 views
5

में व्यक्तिगत ऐरे वैरिएबल एक्सेस करना मेरे पास एक फ़ंक्शन userNumber($number) है जहां मैं दो चर वापस करना चाहता हूं। मुझे पता है कि PHP फ़ंक्शंस में एक से अधिक वैरिएबल वापस करना संभव नहीं है, इसलिए मैंने एक सरणी बनाई ताकि मैं आवश्यक होने पर सरणी से किसी भी इंडेक्स/वैल्यू तक पहुंच सकूं। फ़ंक्शन परीक्षण करता है यदि उपयोगकर्ता का इनपुट 100 & 200 के बीच है, और संख्या के घन और वर्ग रूट को आउटपुट करना चाहिए।PHP फंक्शन

मैं चर में समारोह कॉल करना चाहते हैं:

$calculationSquare = userNumber($number); 
$calculationCube = userNumer($number); 

लेकिन मैं नहीं दिख रहा है कि कैसे मैं प्रत्येक चर में सरणी के प्रत्येक मूल्य उपयोग कर सकते हैं (एक सूचकांक बुला के स्वरूपण की तरह - सरणी []) ;

यहाँ समारोह है कि में वर्ग/घन संख्या में कनवर्ट करता है और सरणी के माध्यम से मान देता है: एक बार फिर

function userNumber($number) { 

    $square = ""; 
    $cubed = ""; 

if(100 < $number && $number < 200) { 

$sqaure = sqrt($number); 
$cubed = $number * $number * $number; 

return array($square, $cubed); 

} // end if 

else { 

     return false; 
    } // end else 
} // end function userNumber 

, यहाँ दो चर है कि मैं वापसी मूल्यों के साथ चाहते हैं कि कर रहे हैं (लेकिन अधिक सीखने पर

$calculationSquare = userNumber($number); 
$calculationCube = userNumber($number); 

कैसे समारोह में अलग-अलग सरणी मूल्यों तक पहुँचने के लिए पर कोई इनपुट की सराहना की है, या संसाधन: वर्ग या घन वह तक पहुंचने का तरीका सरणी में तदनुसार चर पॉप्युलेट करने के लिए) नहीं जानते इसके बारे में। और भी बेहतर

$result = userNumber($number); 
$calculationSquare = $result[0]; 
$calculationCube = $result[1]; 

या हो सकता है,:

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/3451906/multiple-returns-from-function) –

उत्तर

2

अपने वर्तमान कार्यान्वयन में आप PHP में> = 5.4.0 ऐसा कर सकते हैं:

$calculationSquare = userNumber($number)[0]; 
$calculationCube = userNumber($number)[1]; 

या बेहतर, यह केवल एक बार समारोह कहेंगे अलग-अलग चर सरणी प्रदान करना list() का उपयोग करें:

list($calculationSquare, $calculationCube) = userNumber($number); 

ऊपर appr oaches भी निम्न लौटे सरणी के साथ काम करेगा, लेकिन यह अधिक वर्णनात्मक हो सकता है:

return array('square' => $square, 'cube' => $cubed); 
list() या

फिर आप उपयोग कर सकते हैं:

$calculationSquare = $result['square']; 
$calculationCube = $result['cube']; 
[समारोह से आने वाले अनेक रिटर्न] की
संबंधित मुद्दे