Arrays 雄辩的集合按数组排序传入回调
我有这样的收藏Arrays 雄辩的集合按数组排序传入回调,arrays,laravel,sorting,eloquent,Arrays,Laravel,Sorting,Eloquent,我有这样的收藏 $collection = [ 1 => [ ... ], 2 => [ ... ], 3 = [ ... ] ]; $collection->sortBy(function($unit, $id) use ($sort) { return ...; }) 并按我要排序的内容进行数组 $sort =[ 3, 1, 2 ]; 我正在努力实现如何用
$collection = [
1 => [
...
],
2 => [
...
],
3 = [
...
]
];
$collection->sortBy(function($unit, $id) use ($sort) {
return ...;
})
并按我要排序的内容进行数组
$sort =[
3, 1, 2
];
我正在努力实现如何用这样的代码对我的$collection
进行排序
$collection = [
1 => [
...
],
2 => [
...
],
3 = [
...
]
];
$collection->sortBy(function($unit, $id) use ($sort) {
return ...;
})
但我自己也不知道,我已经有了一个工作示例,我只需要对所有$collection元素进行排序,然后按照我“正常”排序的方式为它们分配一些int,但如果可以按另一个数组排序而不给集合元素分配额外的键,这对我来说仍然很有趣。你的意思是
krsort
Laravel集合包括一个
map()
方法,用于执行类似操作
也值得一看mapWithKeys()
方法
这些方法允许您传入集合并对其进行迭代,将每次迭代传递给您定义的回调函数。解决方案是
$sort
->mapWithKeys(
function($id) use ($collection) {
return [
$id => $collection->get('id', $id)
];
}
)
抱歉,也许我的问题有点困惑,但集合已经按键排序,我希望它按另一个数组排序,其中键是3,1,2,而不是1,2,3:)@Nerfair有任何排序条件吗?按$sort数组id排序的集合是什么