Php 基于另一个数组对数组进行排序(查看特定值)

Php 基于另一个数组对数组进行排序(查看特定值),php,arrays,Php,Arrays,我有这个选项数组,内部数组的某个值是“ID” 另一方面,我有一个数组: $array_sort = array(1089, 1050, 1088, ...); 我希望根据$array\u sort对第一个数组的选项数组进行排序(查看“id”) 我知道如何以一种非常肮脏的方式(使用许多循环和临时数组)来实现这一点,但我想有一些数组函数的智能解决方案可以做到这一点 谢谢大家! 您可以使用将选项限制为仅排序数组中的选项,然后使用以下命令根据它们在$array\u sort数组中的位置对它们进行排序:

我有这个选项数组,内部数组的某个值是“ID”

另一方面,我有一个数组:

$array_sort = array(1089, 1050, 1088, ...);
我希望根据
$array\u sort
对第一个数组的选项数组进行排序(查看“id”)

我知道如何以一种非常肮脏的方式(使用许多循环和临时数组)来实现这一点,但我想有一些数组函数的智能解决方案可以做到这一点

谢谢大家!

您可以使用将选项限制为仅排序数组中的选项,然后使用以下命令根据它们在
$array\u sort
数组中的位置对它们进行排序:


感谢您的编辑,@Qirel$sorted只返回1:-(抱歉,它将数组排序到位。我将编辑代码。我无法编辑,但您错过了两个函数中的“use($array\u sort)”,以便获得正确的数组排序范围,因为它在函数之外;-)并且它可以工作!!谢谢你,谢谢你指出这一点。我加上去了。我想当你试着在答案框中写代码时就会发生这种情况。
$array_sort = array(1089, 1050, 1088, ...);
$sorted = array_filter($options, function($arr) use($array_sort) {
    return in_array($arr['id'], $array_sort);
});
usort($sorted, function($a, $b) use($array_sort) {
    return array_search($a['id'], $array_sort) - array_search($b['id'], $array_sort);
});
// $sorted should now be the sorted array