文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP数组排序:从单维到多维的深入探索

2024-04-29 16:29

关注

php提供了丰富的数组排序函数,包括sort()、rsort()、asort()、arsort()用于单维数组排序;对于多维数组排序,可使用array_multisort()自定义函数实现,通过指定多个列来按升序或降序进行排序。

PHP 数组排序:从单维到多维的深入探索

简介

数组排序在编程中至关重要,可用于组织和筛选数据。PHP 提供了几种函数来对数组进行排序,包括 sort(), rsort(), asort(), arsort(), natsort(), natcasesort() 等。

单维数组排序

对单维数组进行排序很简单,可以通过以下函数:

实战案例:对产品按名称升序排列单维数组

<?php
$products = array(
    "Apple" => "iPhone",
    "Samsung" => "Galaxy",
    "Google" => "Pixel",
);

asort($products);

print_r($products);

输出:

Array
(
    [Apple] => iPhone
    [Google] => Pixel
    [Samsung] => Galaxy
)

多维数组排序

有时,我们需要对多维数组进行排序。PHP 中没有开箱即用的函数可以做到这一点,但我们可以通过自定义函数变通实现:

function array_multisort($array, $columns) {
    $temp = [];
    foreach($array as $k => $v) {
        $temp[$k] = [];
        foreach($columns as $key) {
            $temp[$k][$key] = $v[$key];
        }
    }
    array_multisort($temp, SORT_ASC);
    foreach($temp as $k => $v) {
        foreach($columns as $key) {
            $array[$k][$key] = $v[$key];
        }
    }
    return $array;
}

实战案例:按产品名称和价格对多维数组排序

<?php
$products = array(
    array(
        "name" => "iPhone",
        "price" => 1000,
    ),
    array(
        "name" => "Galaxy",
        "price" => 800,
    ),
    array(
        "name" => "Pixel",
        "price" => 900,
    ),
);

array_multisort($products, ['name', 'price']);

print_r($products);

输出:

Array
(
    [0] => Array
        (
            [name] => Galaxy
            [price] => 800
        )

    [1] => Array
        (
            [name] => iPhone
            [price] => 1000
        )

    [2] => Array
        (
            [name] => Pixel
            [price] => 900
        )
)

以上就是PHP数组排序:从单维到多维的深入探索的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯