有没有办法将无限量的参数传递给函数,并访问所有这些参数,而无需在标题中定义每个参数.这是一个让它更清晰的例子:
function doSomething($var1="", $var2="".........)
{
// Do something with the arguments
}
Run Code Online (Sandbox Code Playgroud)
我不想要定义一堆参数.有没有办法只获取数组中的所有参数?即使他们没有被定义?(PHP BTW)
最终结果应如下所示:
func("hello", "ya", "hi", "blah", "test", "go");
function func()
{
//Loop Over Arguments
}
Run Code Online (Sandbox Code Playgroud)
我已经看到一些本机PHP函数能够接受看似无限数量的参数,但用户定义的函数可以做同样的事情吗?
您可以使用func_get_args,func_get_arg和func_num_args
考虑到你已经声明了这三个变量:
$param_1 = "A";
$param_2 = "B";
$param_3 = "C";
Run Code Online (Sandbox Code Playgroud)
这是第一个例子,func_get_args用于获取一个数组中的所有参数:
my_function_1($param_1, $param_2, $param_3);
function my_function_1()
{
$num_args = func_num_args();
if ($num_args >= 1) {
$args = func_get_args();
var_dump($args);
}
}
Run Code Online (Sandbox Code Playgroud)
这是另一个逐个获取参数的方法,其中func_get_arg:
my_function_2($param_1, $param_2, $param_3);
function my_function_2()
{
$num_args = func_num_args();
if ($num_args >= 1) {
$args = func_get_args();
for ($i = 0 ; $i<$num_args ; $i++) {
var_dump(func_get_arg($i));
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |