首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据php中另一个多维数组中给定的顺序,按值对多维数组进行排序

在PHP中,可以使用usort()函数对多维数组按值进行排序。usort()函数接受两个参数,第一个参数是要排序的数组,第二个参数是一个自定义的比较函数。

下面是一个示例代码,根据另一个多维数组中给定的顺序,按值对多维数组进行排序:

代码语言:txt
复制
// 要排序的多维数组
$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()函数对多维数组进行排序,并通过循环打印排序后的结果。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分8秒

059.go数组的引入

领券