2009-08-02 13 views
59

अगर मैं कुछ भी स्पष्ट रूप से वापस नहीं करता, तो एक php फ़ंक्शन वास्तव में क्या करता है?डिफ़ॉल्ट रूप से एक php फ़ंक्शन वापस क्या करता है?

function foo() {} 
  1. यह किस प्रकार का है?

  2. यह क्या मूल्य है?

  3. मैं इसके लिए बिल्कुल === के साथ परीक्षण कैसे करूं?

  4. क्या यह परिवर्तन php4 से php5 तक किया गया था?

  5. वहाँ function foo() {} और function foo() { return; }

के बीच एक अंतर (मैं नहीं पूछ रहा हूँ कैसे if (foo() !=0) ... है जैसे कि यह परीक्षण करने के लिए) है

+1

आधिकारिक दस्तावेज़ीकरण के लिए http://php.net/manual/en/functions.returning-values.php देखें – Sophivorus

उत्तर

85
  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. नहीं।

आप ऐसा करके इसे आज़मा सकते हैं:

$x = foo(); 
var_dump($x); 
32

एक PHP समारोह से एक मूल्य वापस नहीं एक समारोह जो अशक्त रिटर्न के रूप में ही अर्थ विज्ञान है।

function foo() {} 

$x=foo(); 

echo gettype($x)."\n"; 
echo isset($x)?"true\n":"false\n"; 
echo is_null($x)?"true\n":"false\n"; 

हो जाएगा ताकि उत्पादन

NULL 
false 
true 

अगर foo साथ

function foo() {return null;} 

वहाँ (मैं php7 को PHP5 को php4 से इस व्यवहार में कोई बदलाव किया गया है बदल दिया है आप एक ही परिणाम प्राप्त सुनिश्चित करने के लिए बस tested!)

+0

+1 लेकिन मेरी इच्छा है कि मैं +2 कर सकता हूं, यह अधिक पूर्ण उत्तर है (PHP # संस्करणों के बीच व्यवहार में परिवर्तन के संबंध में प्रश्न # 4 शामिल है) – Jonathan

संबंधित मुद्दे