PHP 二维数组排序:按数字列排序

在 PHP 中,可以通过使用 usort() 函数结合自定义排序回调函数,对二维数组根据某一列的数字大小进行排序。

示例:

假设有一个二维数组,其中一列为数字,例如:

// 示例二维数组
$array = array(
    array("name" => "John", "age" => 25, "score" => 80),
    array("name" => "Jane", "age" => 30, "score" => 95),
    array("name" => "Mike", "age" => 22, "score" => 75),
    array("name" => "Lisa", "age" => 28, "score" => 85)
);

想要根据 score 列的值对数组进行排序,可以使用以下代码:

// 自定义排序函数
function sortByScore($a, $b) {
    if ($a['score'] == $b['score']) {
        return 0;
    }
    return ($a['score'] < $b['score']) ? -1 : 1;
}

// 使用 usort() 函数进行排序
usort($array, 'sortByScore');

// 打印排序后的结果
foreach ($array as $item) {
    echo $item['name'] . " - " . $item['score'] . "\n";
}

解释:

  1. 自定义排序函数 sortByScore():该函数接受两个数组元素作为参数,比较它们的 score 值,并根据比较结果返回 -1、0 或 1,分别表示第一个元素小于、等于或大于第二个元素。
  2. usort() 函数:该函数接收两个参数:要排序的数组和自定义排序函数。它使用自定义函数对数组进行排序。

输出:

Mike - 75
John - 80
Lisa - 85
Jane - 95

注意事项:

  • 你可以根据实际需求修改自定义排序函数的逻辑,以实现根据不同列或更复杂的排序规则进行排序。
  • 如果需要对多个列进行排序,可以将多个排序条件写入自定义排序函数中。

通过以上方法,可以轻松地对 PHP 二维数组进行排序,并根据需要对排序规则进行自定义。

PHP 二维数组排序:按数字列排序

原文地址: http://www.cveoy.top/t/topic/fXT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录