栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将额外的参数传递给usort回调

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将额外的参数传递给usort回调

在PHP中,回调的一种选择是传递一个包含对象句柄和方法名称的,由两个元素组成的数组,以对该对象进行调用。例如,如果

$obj
是class的实例
MyCallable
,并且您要调用on
method1
方法,则可以将其作为回调传递。
MyCallable``$obj``array($obj, "method1")

使用此受支持的回调类型的一种解决方案是定义一个单用类,该类本质上类似于闭包类型:

function sort_by_term_meta( $terms, $meta ) {    usort($terms, array(new TermmetaCmpClosure($meta), "call"));}function term_meta_cmp( $a, $b, $meta ){    $name_a = get_term_meta($a->term_id, $meta, true);    $name_b = get_term_meta($b->term_id, $meta, true);    return strcmp($name_a, $name_b); }class TermmetaCmpClosure{    private $meta;    function __construct( $meta ) {        $this->meta = $meta;    }    function call( $a, $b ) {        return term_meta_cmp($a, $b, $this->meta);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421754.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号