动态参数

问题描述:

可能重复:
PHP get all arguments as array?动态参数

好,

在java中我可以做到这一点(伪):

public hello(String..args){ 
    value1 = args[0] 
    value2 = args[1] 
    ... 
    valueN = arg[n]; 
} 

和然后:

hello('first', 'second', 'no', 'matter', 'the', 'size'); 

在php中是这样的吗?

编辑

我,现在我可以传递一个数组一样hello(array(bla, bla)),但可能会存在这样上述mencioned,对不对?

+3

请访问http:// PHP .net/manual/en/function.func-get-args.php – 2012-07-14 02:04:00

func_get_args

function foo() 
{ 
    $numArgs = func_num_args(); 

    echo 'Number of arguments:' . $numArgs . "\n"; 

    if ($numArgs >= 2) { 
     echo 'Second argument is: ' . func_get_arg(1) . "\n"; 
    } 

    $args = func_get_args(); 
    foreach ($args as $index => $arg) { 
     echo 'Argument' . $index . ' is ' . $arg . "\n"; 

     unset($args[$index]); 
    } 
} 

foo(1, 2, 3); 

编辑1

当你调用foo(17, 20, 31)func_get_args()不知道的是,第一个参数表示例如$first变量。当你知道每个数字索引代表着你可以做到这一点(或类似):

function bar() 
{ 
    list($first, $second, $third) = func_get_args(); 

    return $first + $second + $third; 
} 

echo bar(10, 21, 37); // Output: 68 

如果我想要一个特定的变量,我可以ommit别人一个:

function bar() 
{ 
    list($first, , $third) = func_get_args(); 

    return $first + $third; 
} 

echo bar(10, 21, 37); // Output: 47 
+3

你是如此快速的愤怒:D这正是我所追求的。谢谢!其他人也是 – manix 2012-07-14 02:30:14

+0

哈哈哈,欢迎您! – 2012-07-14 02:36:06

+0

我可以这样做:'func_get_args('argument_name')'?获得参数的价值。 – 2014-04-28 17:03:42