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

无法按内部项目对多维数组进行排序

无法按内部项目对多维数组进行排序

PHP
当年话下 2022-01-14 18:06:20
我想按内部数组项的数量( count() )降序(即大多数项优先)对数组进行排序这是我的数组,Array(    [Itm01] => Array        (            [0] => Array                (                    [id] => 238                    [col1] => 7908                    [col2] => 7181                )            [1] => Array                (                    [id] => 17024                    [col1] => 1039                    [col2] => 7181                )            [2] => Array                (                    [id] =>                     [col1] => 1039                    [col2] => 7181                )        )    [Itm02] => Array        (            [0] => Array                (                    [id] => 260                    [col1] => 1039                    [col2] => 8964                )            [2] => Array                (                    [id] => 238                    [col1] => 9149                    [col2] => 8964                )            [3] => Array                (                    [id] => 238                    [col1] => 0                    [col2] => 8964                )            [4] => Array                (                    [id] => 238                    [col1] => 7333                    [col2] => 8964                )            [5] => Array                (                    [id] => 238                    [col1] => 9049                    [col2] => 8964                )            [6] => Array                (                    [id] => 238                    [col1] => 7333                    [col2] => 8964                )            [7] => Array                (                    [id] => 238                    [col1] => 9049                    [col2] => 8964                )但我希望索引为“Itm02”的项目作为第一个项目,因为它有更多项目。老实说,我想要和这个线程一样的东西。但是当我这样做时,$warehouses = uksort($warehouses, function($a, $b) { return count($b) - count($a); });但它返回一个空数组。如果有人可以提供帮助,那就太好了。
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

uksort() 返回一个布尔值。

尝试以下操作:

uksort($warehouses, function($a, $b) { return count($b) - count($a); });
print_r($warehouses);


查看完整回答
反对 回复 2022-01-14
?
PIPIONE

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

array_multisort():对多个或多维数组进行排序

array_multisort(array_map('count', $a), SORT_DESC, $a);

工作示例:https ://3v4l.org/EATkk


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

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