为了账号安全,请及时绑定邮箱和手机立即绑定

按对象字段对象数组进行排序

按对象字段对象数组进行排序

PHP
狐的传说 2019-06-19 10:43:49
按对象字段对象数组进行排序我如何按照它的一个字段对这个对象数组进行排序,例如name或count ?  Array(     [0] => stdClass Object         (             [ID] => 1             [name] => Mary Jane             [count] => 420         )     [1] => stdClass Object         (             [ID] => 2             [name] => Johnny             [count] => 234         )     [2] => stdClass Object         (             [ID] => 3             [name] => Kathy             [count] => 4354         )    ....
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

使用乌斯托,下面是从手册中改编的一个示例:

function cmp($a, $b){
    return strcmp($a->name, $b->name);}usort($your_data, "cmp");

从评论中导入的编辑:

如果要从类和排序函数中对数组进行排序cmp也是在类中定义的,然后使用以下命令:

usort($your_data, array($this, "cmp"))


查看完整回答
反对 回复 2019-06-19
?
jeck猫

TA贡献1909条经验 获得超7个赞

下面是一种更好的使用闭包的方法

usort($your_data, function($a, $b){
    return strcmp($a->name, $b->name);});

请注意,这不是PHP文档中的内容,但是如果您使用5.3+闭包,则可以在其中提供可调用的参数。


查看完整回答
反对 回复 2019-06-19
?
千万里不及你

TA贡献1784条经验 获得超9个赞

如果使用的是php OOP,则可能需要更改为:

public static function cmp($a, $b) {
    return strcmp($a->name, $b->name);}//in this case FUNCTION_NAME would be cmpusort($your_data, array('YOUR_CLASS_NAME','FUNCTION_NAME'));


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 683 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信