php怎样将数组拆分后传递给函数
本文介绍了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
方法中,我会生成Benz
、Audi
的实例传给匿名函数并调用,但是怎样将数量可变的参数给匿名函数呢?
解决方案
http://www.php.net/manual/en/...
// 弹出最后一个参数存为回调函数
$func = array_pop($args);
// 调用这个回调函数
call_user_func_array($func, $args)
这篇关于php怎样将数组拆分后传递给函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文