我将用我的具体例子来解释:
我的数组由代表产品所属的最具体类别的值组成,但它可能属于类别树上的不同分支,然后每个分支由数组值表示,该数组值本身就是所有父类的数组该类别所属的类别。
我想找到最长的分支E.g,即产品所属的类别,其中父类别的数量最多。例如:
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的排序。
答案 0 :(得分:3)
usort($my_breadcrumbs, function ($a, $b){
return count($b) - count($a);
});
答案 1 :(得分:1)
你不需要排序只是为了获得最长的一个; array_reduce
可以像max
一样使用密钥:
$longest = array_reduce($my_breadcrumbs, function($a, $b) {
return count($b) > count($a) ? $b : $a;
});