Php Laravel根据子数组中的元素数对数组进行排序

Php Laravel根据子数组中的元素数对数组进行排序,php,arrays,laravel,Php,Arrays,Laravel,有没有我不知道的laravel收集方法,可以让我根据子数组中的元素数对数组进行排序 Illuminate\Support\Collection {#1143 ▼ #items: array:7 [▼ "A" => Illuminate\Support\Collection {#21181 ▼ #items: array:10 [▶] } "B" => Illuminate\Support\Collection {#21182 ▼ #

有没有我不知道的laravel收集方法,可以让我根据子数组中的元素数对数组进行排序

Illuminate\Support\Collection {#1143 ▼
  #items: array:7 [▼
    "A" => Illuminate\Support\Collection {#21181 ▼
      #items: array:10 [▶]
    }
    "B" => Illuminate\Support\Collection {#21182 ▼
      #items: array:8 [▶]
    }
    "C" => Illuminate\Support\Collection {#21183 ▼
      #items: array:9 [▶]
    }
    "D" => Illuminate\Support\Collection {#21184 ▼
      #items: array:5 [▶]
    }
    "E" => Illuminate\Support\Collection {#21185 ▼
      #items: array:2 [▶]
    }
    "F" => Illuminate\Support\Collection {#21186 ▼
      #items: array:4 [▶]
    }
    "G" => Illuminate\Support\Collection {#21187 ▼
      #items: array:15 [▶]
    }
  ]
}

我可以使用
usort()
做一些事情,但我只是想知道在laravel集合中是否存在任何方法,我还不知道或者可能无法在其中找到它。

我不知道是否有人会遇到类似的问题,我找到了解决方法,如

我仍然不知道这是否是一种完美的方式,但它确实为我带来了好处。我只是把它贴出来,这样它可能会帮助别人很多头痛和时间

我仍然很想听到其他的答案和对替代方法的评论

$sorted = $mostWatchedVideosThisWeek->sortByDesc(function ($stats, $key) {
     return count($stats);
});

如果搜索
usort()
,Laravel的工作原理与
usort()

例如:


最简单的是,集合中有一个排序包装器,请参阅:就文档而言,没有。使用usort方法。这将是用Laravel方法进行此操作的首选方法。如果集合集合的集合是从数据库查询生成的,则可以应用另一种方法,您可以在查询级别而不是php级别应用排序。
 $full_sorted = $collection_data->sort(function($a ,$b) { //$a first element ,$b second element
                if ((count($a) > count($b))) {
                        return -1; 
                }else{
                   return 1;
                }
            })->values();