如果我沒有明確返回任何內容,PHP函數會返回什麼結果?默認情況下php函數返回什麼?
function foo() {}
什麼類型呢?
它是什麼值?
如何用===測試它?
從php4到php5做了這個改變嗎?
有沒有(我不問如何測試它像
if (foo() !=0) ...
)function foo() {}
和function foo() { return; }
之間的差異
如果我沒有明確返回任何內容,PHP函數會返回什麼結果?默認情況下php函數返回什麼?
function foo() {}
什麼類型呢?
它是什麼值?
如何用===測試它?
從php4到php5做了這個改變嗎?
有沒有(我不問如何測試它像if (foo() !=0) ...
)function foo() {}
和function foo() { return; }
之間的差異
null
null
if(foo() === null)
你可以通過做嘗試一下:
$x = foo();
var_dump($x);
不是從一個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;}
已經有這種行爲從PHP4到PHP5到PHP7(我沒有改變只是tested可以肯定!)
+1,但我希望我可以+2,這是更完整的答案(包括關於php版本之間行爲變化的問題#4) – Jonathan 2017-09-17 13:56:01
查看官方文檔http://php.net/manual/en/functions.returning-values.php – Sophivorus 2012-10-28 02:12:37