PHP函数的参数不清楚

时间:2012-02-26 17:05:49

标签: php

function test($param=null) {
    if ($param===null)
      .....
}

由于$ param在函数头设置为null,为什么甚至打扰测试$ param === null?如果有一个案例$ param不会为空?

5 个答案:

答案 0 :(得分:2)

  

由于$ param在函数头设置为null,为什么甚至打扰测试   如果$ param === null?如果有一个案例$ param不会为空?

这是可选参数,因为您为其定义了null的默认值。

至于为什么要费心检查,你要确保确实指定的参数不是null

我们假设你想要echo

function test($param=null) {
  echo $param;
}

当你调用该函数时,什么都不会发生,你不想这样做,对吧。因此,您需要确保参数的值为null,以便您可以随意操作它。

<强>试验:

function test($param=null) {
  echo $param;
}

test(); // no output
test('hello there'); // output: hello there

答案 1 :(得分:2)

这是一个可选的/ default argument

如果您调用该函数,则可以通过以下两种方式之一调用它:

test($value);

test();

在第一种情况下,$param保留$value的值。在第二种情况下,$param始终为null

答案 2 :(得分:1)

如果没有值传递给函数,

$param将仅为null。这是optional parameters的一个例子。

您可以通过传递值

来调用该函数
test(10); //$param inside the method will be 10;
test();   //$param will be null

答案 3 :(得分:0)

$ param = null仅为默认变量,在使用变量调用函数时会被覆盖。

如果您使用

调用该功能
 $helloworld = test('notnull');

然后$ param将在函数中等于'notnull'。

答案 4 :(得分:0)

案例$ param不会为空:

test("ok");

在这种情况下,$ param =&#34; ok&#34;。