php怎样将数组拆分后传递给函数

查看:91
本文介绍了php怎样将数组拆分后传递给函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

//声明需要Benz和Audi,将其实例化后传入方法
$app->controller("Benz", "Audi", function ($Benz, $Audi){
    echo $Audi->go()->speedUp()->speedUp()->speedUp()->speedDown()->getSpeed();
    echo $Benz->go()->speedUp()->speedUp()->speedUp()->speedDown()->getSpeed();
    echo "\n";
    echo "arrival";
});

controller逻辑

class App{
    function controller(){
        $args = func_get_args();
        $reliable = [];
        foreach ($args as $arg){
            if(!is_callable($arg)){
                $rf = new \ReflectionClass( "\\" . __NAMESPACE__ . "\\" . $arg);
                $instance = $rf->newInstance();
                $reliable[$arg] = $instance;
            }
        }
        //这里如何传入参数
        $args[count($args) - 1]();
    }
}

controller方法中,我会生成BenzAudi的实例传给匿名函数并调用,但是怎样将数量可变的参数给匿名函数呢?

解决方案

http://www.php.net/manual/en/...

// 弹出最后一个参数存为回调函数
$func = array_pop($args);

// 调用这个回调函数
call_user_func_array($func, $args)

这篇关于php怎样将数组拆分后传递给函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆