以下是一个示例代码,它演示了如何按照另一个数组对关联多维数组进行排序:
1, 'name' => 'John'),
array('id' => 2, 'name' => 'Jane'),
array('id' => 3, 'name' => 'Bob')
);
// 排序数组
$order = array('Jane', 'John', 'Bob');
// 自定义排序函数
function sortByOrder($a, $b) {
global $order;
$index_a = array_search($a['name'], $order);
$index_b = array_search($b['name'], $order);
return $index_a - $index_b;
}
// 使用自定义排序函数进行排序
usort($data, 'sortByOrder');
// 打印排序结果
foreach ($data as $item) {
echo $item['name'] . "\n";
}
?>
在这个示例中,我们有一个关联多维数组$data
,其中包含了每个人的ID和姓名。我们还有一个排序数组$order
,其中包含了按照姓名排序的顺序。
然后,我们定义了一个自定义排序函数sortByOrder
,它接受两个参数$a
和$b
,表示两个要比较的数组元素。在该函数中,我们使用array_search
函数查找姓名在排序数组$order
中的索引位置,并将其进行比较。
最后,我们使用usort
函数对关联多维数组$data
使用自定义排序函数进行排序。排序完成后,我们通过循环遍历打印排序结果。
注意:在实际使用中,您可能需要根据自己的需求进行修改和调整。此示例仅用于演示如何按照另一个数组对关联多维数组进行排序。