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

二维数组如何找到数组内元素个数最多的放到数组最前面?

二维数组如何找到数组内元素个数最多的放到数组最前面?

PHP
qq_笑_17 2018-07-21 21:09:33
array:2 [▼  "aa" => array:6 [▼    "comboNameId" => 1     "sku" => "aa"     "lineItem" => "x"     "qty" => 1     "lineItem1" => "y"     "qty1" => 2   ]  "bb" => array:8 [▼    "comboNameId" => 1     "sku" => "bb"     "lineItem" => "111"     "qty" => 111     "lineItem1" => "222"     "qty1" => 2     "lineItem2" => "333"     "qty2" => 3   ] ]这个是我循环得到的一个数组,现在我需要找到这个二维数组最多个数的那一个放到数组最上面去就好,不需要将数组进行排序。请问如何实现呀?
查看完整描述

2 回答

?
翻阅古今

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

/$arr是原数组,temp是临时保存数组
foreach ($arr as $k => $v) {

$temp[$k] = count($v);

}
//对数组的个数排序,多个排前面
arsort($temp);
//重新组合组合$res,就是目标结果
foreach ($temp as $k => $v) {

$res[$k] = $arr[$k];

}

https://img1.sycdn.imooc.com//5b5c6b33000167a303590233.jpg`


查看完整回答
反对 回复 2018-07-28
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

uasort($arr,function($a,$b){ 
    $a = count($a); 
    $b = count($b);    return ($a<$b)?1:(($a==$b)?0:-1);
});


查看完整回答
反对 回复 2018-07-28
  • 2 回答
  • 0 关注
  • 792 浏览

添加回答

举报

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