我如何在php中使用未知数量的参数编写函数,例如
function echoData (parameter1, parameter2,) {
//do something
}
但是当你调用该函数时,你可以使用:
echoData('hello', 'hello2', 'hello3', 'hello'4);
因此,可以发送更多参数,因为参数的数量是未知的。
答案 0 :(得分:12)
function echoData(){
$args = func_get_args();
}
请注意,虽然你可以这样做,但如果你要使用func_get_args(),你不应该在函数声明中定义任何参数 - 只是因为如果/当任何定义的参数被省略时它会变得非常混乱< / p>
关于参数的类似函数
答案 1 :(得分:10)
仅适用于在Google上找到此主题的人。
In PHP 5.6 and above you can use ...
指定未知数量的参数:
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4); // 10
$numbers
是一个参数数组。
答案 2 :(得分:2)
使用func_get_args()来检索所有参数的数组:
$args = func_get_args();
然后你可以使用数组或迭代它,无论你的用例最合适。
答案 3 :(得分:0)
您也可以使用数组:
<?php
function example($args = array())
{
if ( isset ( $args["arg1"] ) )
echo "Arg1!";
}
example(array("arg1"=>"val", "arg2"=>"val"));