0

我会用我的具体例子来解释:

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

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

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 的排序。

4

2 回答 2

4
usort($my_breadcrumbs, function ($a, $b){
    return  count($b) - count($a);
});
于 2013-07-10T19:05:32.720 回答
1

你不需要排序只是为了得到最长的;array_reduce可以像max使用键一样操作:

$longest = array_reduce($my_breadcrumbs, function($a, $b) {
    return count($b) > count($a) ? $b : $a;
});
于 2013-07-10T19:07:11.337 回答