在PHP中,可以使用usort()
函数对多维数组按值进行排序。usort()
函数接受两个参数,第一个参数是要排序的数组,第二个参数是一个自定义的比较函数。
下面是一个示例代码,根据另一个多维数组中给定的顺序,按值对多维数组进行排序:
// 要排序的多维数组
$multiArray = [
['id' => 1, 'name' => 'John', 'age' => 25],
['id' => 2, 'name' => 'Jane', 'age' => 30],
['id' => 3, 'name' => 'Bob', 'age' => 20]
];
// 给定的顺序数组
$orderArray = ['Bob', 'John', 'Jane'];
// 自定义比较函数
function compare($a, $b) {
global $orderArray;
$posA = array_search($a['name'], $orderArray);
$posB = array_search($b['name'], $orderArray);
return $posA - $posB;
}
// 使用usort函数进行排序
usort($multiArray, 'compare');
// 打印排序后的结果
foreach ($multiArray as $item) {
echo $item['name'] . ' ';
}
输出结果为:Bob John Jane
在上述示例中,我们首先定义了要排序的多维数组$multiArray
,然后定义了给定的顺序数组$orderArray
。接下来,我们定义了一个自定义的比较函数compare()
,该函数使用array_search()
函数在给定的顺序数组中查找每个元素的位置,并返回比较结果。最后,我们使用usort()
函数对多维数组进行排序,并通过循环打印排序后的结果。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云