【问题标题】:Passing optional number of arguments into another function将可选数量的参数传递给另一个函数
【发布时间】:2012-05-18 14:49:25
【问题描述】:

假设我有一个名为 addUp 的函数,它接受任意数量的十进制参数并返回它们全部相加的结果。

如果我有以下功能:

function myTest(){
    $args = func_get_args();
    return addUp($args);
}

如果我调用 myTest(1,2,3) 显然这将不起作用,因为我只将一个参数传递给 addUp 并且那是一个数组。

有没有办法将传递给myTest 的所有参数传递给addUp 函数(无需编辑addUp 函数)?

【问题讨论】:

    标签: php


    【解决方案1】:

    你可以使用call_user_func_array

    它使用从数组派生的参数调用一个函数(这是您从func_get_args() 获得的)。

    【讨论】:

      【解决方案2】:

      你可以传入一个数组,然后遍历它。

      $args = array(1, 2, 3, 4);
      
      function myTest($arr){
          $r = 0;
          foreach($arr as $value){
              $r += intval($value);
          }
      
          return $r;
      }
      
      echo myTest($args);
      

      【讨论】:

        猜你喜欢
        • 2018-09-10
        • 2018-10-22
        • 2014-12-04
        • 1970-01-01
        • 2012-09-25
        • 2020-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多