网络语言系列&php系列【仅供参考】:PHP二维数组排序算法函数




PHP二维数组排序算法函数

以使用PHP内置的array_multisort()函数来对二维数组进行排序。array_multisort()函数可以对多个数组或多维数组的一个或多个列进行排序。下面是一个示例函数,该函数可以对二维数组按指定列进行排序:

<?php
function sort2DArrayByColumn(&$array, $columnKey, $sortOrder = SORT_ASC) {
    // 提取出需要排序的列
    $columnValues = array_column($array, $columnKey);
 
    // 使用 array_multisort 对二维数组进行排序
    array_multisort($columnValues, $sortOrder, $array);
}
 
// 示例用法
$data = [
    ['name' => 'John', 'age' => 30, 'salary' => 5000],
    ['name' => 'Jane', 'age' => 25, 'salary' => 6000],
    ['name' => 'Doe', 'age' => 35, 'salary' => 4000],
];
 
echo "排序前:\n";
print_r($data);
 
//'age' 列升序排序
sort2DArrayByColumn($data, 'age');
 
echo "\n按 'age' 列升序排序后:\n";
print_r($data);
 
//'salary' 列降序排序
sort2DArrayByColumn($data, 'salary', SORT_DESC);
 
echo "\n按 'salary' 列降序排序后:\n";
print_r($data);
?>

代码解释:

1. 函数定义:

  1. sort2DArrayByColumn(&$array, $columnKey, $sortOrder = SORT_ASC):

    1. &$array:传引用传递二维数组,排序后原数组会被修改。

    2. $columnKey:指定要排序的列名。

    3. $sortOrder:排序顺序,默认为升序(SORT_ASC),可选降序(SORT_DESC)。

2. 提取列值:

  1. array_column($array, $columnKey):提取出二维数组中指定列的所有值。

3. 排序:

  1. array_multisort($columnValues, $sortOrder, $array):根据提取出的列值对二维数组进行排序。

4. 示例用法:

  1. 创建一个二维数组$data。

  2. 打印排序前的数组。

  3. 按’age’列升序排序并打印结果。

  4. 按’salary’列降序排序并打印结果。

运行该代码后,你会看到数组按照指定的列和顺序进行了排序。







ac-er8888

PHP二维数组排序算法函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值