默认情况下,php 函数返回什么?

2022-08-30 08:21:03

如果我没有显式返回任何内容,那么php函数究竟返回了什么?

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

  2. 它有什么价值?

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

  4. 这是否从 php4 更改为 php5?

  5. 和 之间是否有区别function foo() {}function foo() { return; }

(我不是在问如何测试它if (foo() !=0) ...)


答案 1
  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. 不。

您可以通过执行以下操作来尝试一下:

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

答案 2

不从 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";

这将输出

NULL
false
true

如果 foo 替换为

function foo() {return null;}

从php4到php5再到php7,这种行为没有变化(我只是测试了一下!


推荐