如果我没有明确返回任何内容,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