首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建以function作为参数的PHP函数

创建以function作为参数的PHP函数
EN

Stack Overflow用户
提问于 2011-03-25 23:46:21
回答 7查看 306关注 0票数 2

我正在尝试创建一个PHP函数,它接受另一个PHP函数作为输入。下面是一个示例:

代码语言:javascript
运行
复制
function getMean(function){
    $allUsers =  getAllUsers();
    $sum = 0;

    foreach ($allUsers  as $currentUser ){

        $sum =+ (function($currentUser['CONSUMER_ID'], 5, 8))/(8-5);

    }

}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-25 23:49:12

也许像这样的东西应该可以做到。PHP有一个名为callback的“类型”,它可以是一个闭包(从PHP5.3开始)、包含对象的函数或数组的名称以及要调用的方法。这些回调可以用call_user_func()调用

代码语言:javascript
运行
复制
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;
}
票数 4
EN

Stack Overflow用户

发布于 2011-03-25 23:52:18

你需要PHP5.3来做这件事。

代码语言:javascript
运行
复制
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)。

票数 2
EN

Stack Overflow用户

发布于 2011-03-25 23:48:01

只要function($currentUser['CONSUMER_ID'], 5, 8)返回一些东西,您就可以这样做

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5434793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档