函数中的多个可选参数

sud*_* cv 3 php function

getAllForms($data=null)

getAllForms() and getAllForms("data")
Run Code Online (Sandbox Code Playgroud)

这会奏效.但我想在这样的函数中创建两个可选参数:

getAllForms($arg1=null,$arg2=null)

getAllForms() and getAllForms("data")
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Bab*_*aba 10

你可以试试:

function getAllForms() {
    extract(func_get_args(), EXTR_PREFIX_ALL, "data");
}

getAllForms();
getAllForms("a"); // $data_0 = a
getAllForms("a", "b"); // $data_0 = a $data_1 = b
getAllForms(null, null, "c"); // $data_0 = null $data_1 = null, $data_2 = c
Run Code Online (Sandbox Code Playgroud)


Mut*_*ran 6

您也可以尝试使用func_get_arg哪些n参数可以将函数传递给函数.

http://php.net/manual/en/function.func-get-args.php

function foo(){
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)