use*_*021 71 php variables language-design function
如果我没有明确地返回任何内容,那么php函数究竟返回了什么?
function foo() {}
Run Code Online (Sandbox Code Playgroud)
它是什么类型的?
它有什么价值?
如何使用===完全测试?
这是从php4改为php5吗?
有没有之间的差异function foo() {}和function foo() { return; }
(我不是问如何测试它if (foo() !=0) ...)
Pat*_*and 99
nullnullif(foo() === null)您可以通过以下方式尝试:
$x = foo();
var_dump($x);
Run Code Online (Sandbox Code Playgroud)
Pau*_*xon 38
不从PHP函数返回值具有与返回null的函数相同的语义.
function foo() {}
$x=foo();
echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";
Run Code Online (Sandbox Code Playgroud)
这将输出
NULL
false
true
Run Code Online (Sandbox Code Playgroud)
如果替换foo,则会得到相同的结果
function foo() {return null;}
Run Code Online (Sandbox Code Playgroud)
从php4到php5到php7的这种行为没有任何变化(我只是测试了!)