我正在尝试创建一个PHP函数,它接受另一个PHP函数作为输入。下面是一个示例:
function getMean(function){
$allUsers = getAllUsers();
$sum = 0;
foreach ($allUsers as $currentUser ){
$sum =+ (function($currentUser['CONSUMER_ID'], 5, 8))/(8-5);
}
}
发布于 2011-03-25 23:49:12
也许像这样的东西应该可以做到。PHP有一个名为callback的“类型”,它可以是一个闭包(从PHP5.3开始)、包含对象的函数或数组的名称以及要调用的方法。这些回调可以用call_user_func()
调用
function getMean($callback){
$allUsers = getAllUsers();
$sum = 0;
foreach ($allUsers as $currentUser ){
$sum =+ (call_user_func($callback, $currentUser['CONSUMER_ID'], 5, 8))/(8-5);
}
return $sum;
}
发布于 2011-03-25 23:52:18
你需要PHP5.3来做这件事。
function getMean($function){
$allUsers = getAllUsers();
$sum = 0;
foreach ($allUsers as $currentUser ){
$sum += ($function($currentUser['CONSUMER_ID'], 5, 8))/(8-5);
}
return $sum;
}
getMean(function($consumer_id, $five, $eight) {
return $consumer_id;
});
如果你运行PHP5.3-(低于5.3),你需要在使用call_user_func()
或call_user_func_array()
函数的同时使用回调函数(documentation is here)。
发布于 2011-03-25 23:48:01
只要function($currentUser['CONSUMER_ID'], 5, 8)
返回一些东西,您就可以这样做
https://stackoverflow.com/questions/5434793
复制相似问题