猿问

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

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
  ]
]

这个是我循环得到的一个数组,现在我需要找到这个二维数组最多个数的那一个放到数组最上面去就好,不需要将数组进行排序。请问如何实现呀?


qq_笑_17
浏览 793回答 2
2回答

翻阅古今

/$arr是原数组,temp是临时保存数组foreach ($arr as $k => $v) {$temp[$k] = count($v);}//对数组的个数排序,多个排前面arsort($temp);//重新组合组合$res,就是目标结果foreach ($temp as $k => $v) {$res[$k] = $arr[$k];}`

慕无忌1623718

uasort($arr,function($a,$b){&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$a&nbsp;=&nbsp;count($a);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$b&nbsp;=&nbsp;count($b);&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;($a<$b)?1:(($a==$b)?0:-1); });
随时随地看视频慕课网APP
我要回答