在PHP函数中传递可选参数

Pet*_*ter 25 php

如何将可选参数传递给PHP函数.例如

function test($required, $optional){..}
Run Code Online (Sandbox Code Playgroud)

所以我应该能够通过传递一个参数或两者来调用该函数.例如:

test($required, $optional)
test($required);
Run Code Online (Sandbox Code Playgroud)

谢谢.

fel*_*igl 48

试试这个:

function test($required, $optional = NULL){..} 
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话

test($required, $optional)
Run Code Online (Sandbox Code Playgroud)

并且为$optionalnull

test($required);  
Run Code Online (Sandbox Code Playgroud)


Ski*_*ick 10

使用默认值:

function test($required, $optional="default value"){..}
Run Code Online (Sandbox Code Playgroud)


Alp*_*Alp 8

1)您可以为参数定义默认值,如下所示:

function test($required, $optional = false) {}
Run Code Online (Sandbox Code Playgroud)

2)您可以使用func_num_args()来获取参数的数量,使用func_get_arg($ n)来获取第n个参数,或使用func_get_args()来获取所有参数的数组.

你可以在这里找到一个很好的总结:函数参数


Lim*_*mon 5

你也可以这样做:

function test($required, $optional = ''){
    #code
}
Run Code Online (Sandbox Code Playgroud)

打电话时:

test($required)
Run Code Online (Sandbox Code Playgroud)

要么:

test($required, $optional = 'something')
Run Code Online (Sandbox Code Playgroud)

  • 用`test($ required,$ optional ='something')`进行调用会产生误导,您要分配`$ optional`变量,而不按名称传递可选参数值 (2认同)