PHP:收集作为数组传递给函数的所有变量?

时间:2010-06-01 22:14:12

标签: php arrays function

我在考虑访问传递给函数的所有变量的可能性,并将它们合并到一个数组中。 (不从头开始将变量传递到数组中)

的伪代码:

// Call function
newFunction('one', 'two', 'three' ) ;// All values are interpreted as a one rray in some way

// Function layout
newFunction( ) {    
   // $functionvariables =  array( All passed variables) 

    foreach ($functionvariable as $k => $v) {
        // Do stuff
    }
}

3 个答案:

答案 0 :(得分:9)

答案 1 :(得分:9)

查看 func_get_args 功能。这就是为它们构建数组的方法:

function test()
{
  $numargs = func_num_args();

  $arg_list = func_get_args();
  $args = array();

  for ($i = 0; $i < $numargs; $i++)
  {
    $args[] = $arg_list[$i];
  }

  print_r($args);
}

答案 2 :(得分:1)

清楚地标识要传递的项目应该被视为数组可能很有用。例如,将函数def设置为

function newFunction( $arrayOfArguments ) { 
    foreach($arrayOfArguments as $argKey => $argVal)
    { /* blah */ }
}