2009-08-02 92 views
59

如果我没有明确返回任何内容,PHP函数会返回什么结果?默认情况下php函数返回什么?

function foo() {} 
  1. 什么类型呢?

  2. 它是什么值?

  3. 如何用===测试它?

  4. 从php4到php5做了这个改变吗?

  5. 有没有(我不问如何测试它像if (foo() !=0) ...function foo() {}function foo() { return; }

之间的差异

+1

查看官方文档http://php.net/manual/en/functions.returning-values.php – Sophivorus 2012-10-28 02:12:37

回答

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;} 

已经有这种行为从PHP4到PHP5到PHP7(我没有改变只是tested可以肯定!)

+0

+1,但我希望我可以+2,这是更完整的答案(包括关于php版本之间行为变化的问题#4) – Jonathan 2017-09-17 13:56:01

相关问题