有没有类似python的一种机制,function func($a, $b)可以有个什么方法很像extract,可以将一个数组拆成一个一个参数传给func.$arr = array(1, 2);
func($arr);这样子使用的时候,a是1,b是2,有办法吗,手机党无力,坐等解答。

解决方案 »

  1.   

    可以在函数内部extract,然后就可以使用$a,$b了额.
      

  2.   

    不过要求数组shi这种形式
    $arr = array('a'=>0,'b'=>1);
      

  3.   


    function foo($a, $b){var_dump($a, $b);}$arr = array(1,2);call_user_func_array("foo", $arr);
      

  4.   


    class T
    {
    public function __construct($arr = array())
    {
    call_user_func_array(array($this, "foo"), $arr);
    } public function foo($a, $b)
    {
    var_dump($a, $b);
    }
    }
    $arr    = array(1,2);
    new T($arr);
      

  5.   

    // Call the $foo->bar() method with 2 arguments$foo = new foo;call_user_func_array(array($foo, "bar"), array("three", "four"?>以上例程的输出自己搜了