Php编写具有未知参数的函数?
例如,我如何用php编写一个参数未知的函数Php编写具有未知参数的函数?,php,Php,例如,我如何用php编写一个参数未知的函数 function echoData (parameter1, parameter2,) { //do something } 但当您调用该函数时,您可以使用: echoData('hello', 'hello2', 'hello3', 'hello'4); 由于参数数量未知,因此可以发送更多参数。 请注意,虽然可以这样做,但如果要使用func_get_args(),则不应在函数声明中定义任何参数,因为如果省略任何已定义的参数,则会导致非常混
function echoData (parameter1, parameter2,) {
//do something
}
但当您调用该函数时,您可以使用:
echoData('hello', 'hello2', 'hello3', 'hello'4);
由于参数数量未知,因此可以发送更多参数。
请注意,虽然可以这样做,但如果要使用func_get_args(),则不应在函数声明中定义任何参数,因为如果省略任何已定义的参数,则会导致非常混乱 关于参数的类似函数
- func_get_arg()
- func_get_args()
- func_num_args()
$args = func_get_args();
然后,您可以使用数组或对其进行迭代,只要最适合您的用例。您也可以使用数组:
<?php
function example($args = array())
{
if ( isset ( $args["arg1"] ) )
echo "Arg1!";
}
example(array("arg1"=>"val", "arg2"=>"val"));
只为那些在谷歌上找到这条线索的人准备
要指定未知数量的参数,请执行以下操作:
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4); // 10
$numbers
是一个参数数组。可能是重复的,请注意,如果要使用func\u get\u args()
,则不应在函数声明中定义任何参数,因为忽略任何已定义的参数都会让人非常困惑。@Dave:捕捉得很好。我会把它加到我的答案里
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4); // 10