【问题标题】:How to pass array as multiple parameters to function?如何将数组作为多个参数传递给函数?
【发布时间】:2011-02-12 19:13:50
【问题描述】:

我有一个参数数组:

$params[1] = 'param1';
$params[2] = 'param2';
$params[3] = 'param3';
...
$params[N] = 'paramN';

我有一个调用各种函数的方法:

$method->$function( $params );

如何解析 $params 数组,以便将多个(且无限)参数传递给任何函数:

$method->$function( $params[1], $params[2], ..., $params[N] );

这个想法是像这样利用url重写:

http://domain.com/class/method/parameter/parameter/parameter/...

【问题讨论】:

    标签: php function parsing call


    【解决方案1】:

    你需要使用call_user_func_array

    call_user_func_array( array($method, $function), $params);
    

    【讨论】:

      【解决方案2】:

      从 PHP 5.6 开始,您可以使用 argument unpacking:

      function add($a, $b, $c) {
          return $a + $b + $c;
      }
      
      $numbers = [1, 2, 3];
      echo add(...$numbers);
      

      【讨论】:

        猜你喜欢
        • 2015-09-13
        • 2012-12-07
        • 2013-09-13
        • 1970-01-01
        • 2013-01-27
        • 2023-03-26
        • 2013-01-20
        • 2014-12-08
        相关资源
        最近更新 更多