- 此问题在此处已有答案**:
Sort multidimensional array based on another array [duplicate](3个答案)
4天前关闭。
大家好,我有一个如下所示的数组
array[
0 => array[
'id' => 1,
'name' => 'Test 1'
'classId' => 3
],
1 => array[
'id' => 1,
'name' => 'Test 1'
'classId' => 15
],
2 => array[
'id' => 1,
'name' => 'Test 1'
'classId' => 17
],
]
我有另一个包含classIds
的数组,如:
classIds = [15, 17, 3]
我想根据classId对数组进行排序
我可以做一个双循环来比较它。我只是想知道有没有其他的方法来完成它?
2条答案
按热度按时间s8vozzvw1#
实际上一个循环就足够了:
如果你认为
array_search(...)
也是一个“循环”(尽管它内部的工作方式不同),那么这将是一个产生相同输出的替代方案:这两种方法的输出为:
kupeojn62#
您可以使用
usort
和一个匿名比较函数(从$classIds
检索目标索引)直接对数组进行就地排序。给定
你可以用
其输出
Try it online!