PHP 函数的参数不清楚


PHP function's parameter is unclear

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

既然$param在函数头上设置为 null,为什么还要费心测试如果 $param===null?如果有案例$param不会为空吗?

既然$param在函数头处设置为 null,为什么还要打扰测试 如果$param===空?如果有案例$param不会为空吗?

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

至于为什么要费心检查它,您要确保确实指定了一个参数,该参数不是null

假设你想echo它:

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

当你调用函数时,什么都不会发生,你不想这样做,对吧。出于这个原因,你要确保参数的值不为空,以便你可以随心所欲地操作它。

测试:

function test($param=null) {
  echo $param;
}
test(); // no output
test('hello there'); // output: hello there

这是一个可选/默认参数。

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

test($value);

test();

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

仅当没有值传递给函数时,$param才会为 null。这是可选参数的示例。

您可以通过传递值来调用该函数

test(10); //$param inside the method will be 10;
test();   //$param will be null

$param=null 只是一个默认变量,当函数被变量调用时会被覆盖。

如果使用调用函数

 $helloworld = test('notnull');

然后$param将等于函数中的"notnull"。

$param的情况

不会为空:

test("ok");

在这种情况下,$param = "ok"。