将默认参数发送为null并使用函数中设置的默认值

时间:2016-09-28 12:26:35

标签: php function

我的功能如下。

function test($username, $is_active=1, $sent_email=1, $sent_sms=1) {

  echo $sent_email;  // It should print default ie 1

}

致电功能:

  test($username, 1, null, 1);

如果需要在函数中使用默认值,如何调用函数。 $ sent_email应为1.不能更改参数序列。

2 个答案:

答案 0 :(得分:1)

当你启动值参数时:     

Making a cup of cappuccino.
Making a cup of .
Making a cup of espresso.

以上示例将输出:

function test($username, $is_active=1, $sent_email=1, $sent_sms=1) {

    if($sent_email!=1)
        $sent_email=1;
      echo $sent_email;  // It should print default ie 1

    }

按照以下条件满足您要检查的内容:

A.js

答案 1 :(得分:-1)

在php中,您不能在函数中使用默认值声明多于1个参数。 如果您有多个默认值,Php无法知道您没有给出的参数......

在您的情况下,您为param提供null值。那有很多不同!因此,您可以使用以下内容:

function test($username, $is_active, $sent_email, $sent_sms) {
    $username = ($username != null) ? $username : 1;
    $is_active = ($is_active != null) ? $is_active : 1;
    $sent_email = ($sent_email != null) ? $sent_email : 1;

  echo $sent_email;  // It should print default ie 1

}

因为它,如果你给null,你的函数将使用“1”值,如果不为null,你传递的值作为参数;)