【发布时间】:2021-06-04 08:58:18
【问题描述】:
我有一个 ID 看起来像的数组
$order_ids = array(8,9,10,4,7);
还有一个看起来像的多维数组
array(
0 => array(
0 => 4, // order id
1 => 23 // item_id
2 => 1 // qty
),
1 => array(
0 => 9, // order id
1 => 66 // item_id
2 => 4 // qty
),
2 => array(
0 => 8, // order id
1 => 17 // item_id
2 => 3 // qty
),
)
我试过了
$keys = array_flip($order_ids);
usort($multiarray, function($a, $b) use($keys)
{
return $keys[$a] - $keys[$b[0];
});
第二个数组的 order_ids 对应于第一个数组中的值。我需要做的是按 order_ids 按照它们在第一个数组中的顺序对第二个数组进行排序。
【问题讨论】:
-
您尝试了哪些方法,遇到了什么问题?网站内外都有很多类似问题的示例,它们应该至少可以帮助您找到解决方案。
-
请向我们展示您解决问题的最佳尝试,您可能比您想象的更接近!推荐阅读How to Ask.
-
您使用
['id'],但您尝试排序的数组不是关联的。您已将0索引标记为具有订单ID 的索引,因此您应该尝试使用[0]。附言这应该会给你未定义的索引通知。
标签: php arrays multidimensional-array