Php Laravel根据子数组中的元素数对数组进行排序
有没有我不知道的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 ▼ #
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();