繁体   English   中英

按值计数对数组排序

[英]Sort Array By Count of Values

我将使用具体示例进行解释:

我的数组由代表产品所属的最具体类别的值组成,但是它可能属于类别树上的不同分支,然后每个分支都由一个数组值表示,该数组值本身就是所有父类别的数组类别所属。

我想找到最长的分支,例如,产品所属的类别具有最多的父类别。 例如:

var_dump($my_breadcrumbs);
array(
  [0] => array( [0] => Object Category , [1] Object Category) 
  [1] => array( [0] => Object Category , [1] Object Category, [2] Object Category) 

我想将具有最大数量值的数组元素移动到位置0

我可以通过一系列测试来做到这一点,但我想看看是否有一种使用php排序的方法。

usort($my_breadcrumbs, function ($a, $b){
    return  count($b) - count($a);
});

您不必为了获得最长的排序而进行排序; array_reduce可以像键一样充当max

$longest = array_reduce($my_breadcrumbs, function($a, $b) {
    return count($b) > count($a) ? $b : $a;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM