温馨提示×

php如何对二维数组排序

PHP
小亿
85
2024-10-11 15:46:13
栏目: 编程语言

在PHP中,可以使用usort()函数对二维数组进行排序。usort()函数接受两个参数:一个是要排序的数组,另一个是用于比较元素的回调函数。

以下是一个使用usort()对二维数组按行排序的示例:

<?php
$array = [
    ['name' => 'Tom', 'age' => 20],
    ['name' => 'Jerry', 'age' => 18],
    ['name' => 'Mike', 'age' => 22]
];

// 自定义排序规则:按年龄升序排列
function compare_age($a, $b) {
    if ($a['age'] == $b['age']) {
        return 0;
    }
    return ($a['age'] < $b['age']) ? -1 : 1;
}

// 使用usort()函数对二维数组进行排序
usort($array, 'compare_age');

// 输出排序后的数组
print_r($array);
?>

运行上述代码,输出的结果将会是:

Array
(
    [0] => Array
        (
            [name] => Jerry
            [age] => 18
        )

    [1] => Array
        (
            [name] => Tom
            [age] => 20
        )

    [2] => Array
        (
            [name] => Mike
            [age] => 22
        )
)

在这个示例中,我们定义了一个名为compare_age()的回调函数,用于比较两个数组元素的年龄。然后,我们将这个函数传递给usort()函数,以便对二维数组进行排序。最后,我们使用print_r()函数输出排序后的数组。

0