实例详解PHP数组函数array_multisort()使用方法

  • 时间:
  • 1126人关注

这篇文章主要介绍了PHP数组函数array_multisort()用法,结合实例形式详细分析了array_multisort函数的功能,定义及进行数组排序过程中的使用技巧,需要的朋友可以参考下,另外这篇文章主要知识点是关于PHP、数组函数、array_multisort()、PHP的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

教程详情电子资料
  • 教程类别:PHP
  • 编辑整理:养英光
  • 教程字数:1867字节
  • 阅读时间:大概15分钟
  • 下载本教程(DOC版)
  • PHP编程从入门到实践
  • php与java所需jar包
  • PHP7实践指南:O2O网站与App后台开发
  • PHP基础教程(第4版)
  • PHP项目开发全程实录(第4版)
  • 本文实例分析了PHP数组函数array_multisort()用法。分享给大家供大家参考,具体如下:

    有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题。我们可以使用array_multisort()这个函数。array_multisort() 函数对多个数组或多维数组进行排序。

    参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

    第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:

    SORT_ASC - 默认,按升序排列。(A-Z)
    SORT_DESC - 按降序排列。(Z-A)

    随后可以指定排序的类型:

    SORT_REGULAR - 默认。将每一项按常规顺序排列。
    SORT_NUMERIC - 将每一项按数字顺序排列。
    SORT_STRING - 将每一项按字母顺序排列。

    语法:array_multisort(array1,sorting order,sorting type,array2,array3...)

    array1:必需。规定输入的数组。
    sorting order:可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
    sorting type:可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
    array2:可选。规定输入的数组。
    array3:可选。规定输入的数组。

    字符串键名将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。可以在每个数组后设置排序顺序和排序类型。如果没有设置,每个数组参数会使用默认值。

    下面是一个例子:

    <?php
     $arr = '';
     echo '二维数组如下:'.'<br / >';
     for($i=0; $i<=5; $i++)
     {
     $arr[$i]['val'] = mt_rand(1, 100);
     $arr[$i]['num'] = mt_rand(1, 100);
     }
     echo '<pre>';
     print_r($arr);
     echo '</pre>';
     echo '从二维数组中抽出键为val,单独成另一个数组:'.'<br / >';
     foreach ($arr as $key => $row) 
     {
       $vals[$key] = $row['val'];
        $nums[$key] = $row['num'];
     }
     echo '<pre>';
     print_r($vals);
     echo '</pre>';
     echo '对其进行排序:'.'<br / >';
     array_multisort($vals, SORT_ASC, $arr);
     echo '<pre>';
     print_r($vals);
     echo '</pre>';
    ?>
    
    

    运行结果:

    二维数组如下:
    Array
    (
      [0] => Array
        (
          [val] => 46
          [num] => 49
        )
      [1] => Array
        (
          [val] => 8
          [num] => 24
        )
      [2] => Array
        (
          [val] => 37
          [num] => 3
        )
      [3] => Array
        (
          [val] => 32
          [num] => 35
        )
      [4] => Array
        (
          [val] => 19
          [num] => 38
        )
      [5] => Array
        (
          [val] => 30
          [num] => 37
        )
    )
    
     
    从二维数组中抽出键为val,单独成另一个数组:
    
    Array
    (
      [0] => 46
      [1] => 8
      [2] => 37
      [3] => 32
      [4] => 19
      [5] => 30
    )
    
    对其进行排序:
    
    Array
    (
      [0] => 8
      [1] => 19
      [2] => 30
      [3] => 32
      [4] => 37
      [5] => 46
    )
    
    

    这样我们将得到一个按val升序排序的二维数组。

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。


    上一篇:实例详解PHP如何实现浏览器检查类

    下一篇:示例讲解php+mysql查询实现无限下级分类树输出

    相关内容

    • 学了java可以自学PHP吗

      会不会JAVA都可以自学PHP,PHP完全可以零基础入门,会JAVA(其实任何一门语言)对学习PHP是有帮助的。只要你意志力够,自学入门还是不成问题的,想深入还是需要项目经验和公司的历练。 1、不管是PHP还是Java都是不错的选择,目前来说这两种语言都还处在势头上,但是从长远出发还是Java好,毕竟从性能、处理数据各方面来看还是Java有优势一些,当然最终选择还是在你自己的手里。PHP入门相对JAVA简单。深入的话其实也不浅。入门比JAVA好入门一些,语法

      12-08学了java能自学PHP吗

      阅读更多
    • php与java关系大吗

      php与java可以说是没有什么关系,关系就是同样都是编程语言。目前来说java的钱还有前景都是很好的~但是相对于php来说这是条艰难险阻的路,java会比php的结构复杂还有涉及方面都比较广,要学得好的话需要狠下苦工,php相对而言入门的门槛比较低,即使没有语言基础还是有可能学得不错,php来讲主要都是做网站就是B/C端~也可以拿来做系统开发~如果你对生活质量要求高想要专研技术一味干下去的就选java没错~如果你觉得只要快点可以过上好点的生活还有

      12-03php与java有什么关系

      阅读更多
    • php接口和java接口的区别

      java和php接口的区别是:1、php接口中的抽象方法只能是public的,默认也是public权限;2、java中私有方法使用private修饰,供接口中的默认方法或者静态方法调用。

      11-30php接口和java接口区别是什么

      阅读更多
    • 学了Java会PHP吗

      学了java不等于会php,这是两种不同的语言,编程的事情没有投机取巧,目前要用哪个就专注哪种语言,不同的语言语法、函数上总归会有不同,但一旦你对某一种语言深入了(很难说达到精通),你在转换的时候会上手很快。专注网站开发的话,建议PHP,容易上手点。PHP相对于来说要简单点,学起要快一点,小公司开发多用PHP开发,如果你是转行,可以从PHP开始。 1、PHP是函数式语言,Java是面向对象语言,PHP和Java的差异还是相当大的。比如变量声明,

      11-26学了Java就会PHP吗

      阅读更多
    • 懂java还需要学php吗

      懂java不需要特意再去学php,因为java和php是两种语言是不同方面的应用。java更注重于企业及的开发。php主要是做网站的。当你学完java之后在想学php会感到会场简单的,特别是面向对象这块。多学点没坏处,但要是为了学java去学php,就有点画蛇添足了。PHP是一种解释执行的脚本语言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用PHP.而Java要先编译成Class文件,然后在Java虚拟机上执行,Java开发需要熟悉Java语法以及一些核心的架构,

      11-25会java还需要学php吗

      阅读更多
    • PHP7.0+MySQL网站开发全程实例

      PHP7.0+MySQL网站开发全程实例

      《 PHP7.0MySQL网站开发全程实例 》在XAMPP集成化自然环境下,应用Dreamweaver对PHP动态网站开发。《PHP7.0MySQL网站开发全程实例》以全程实例课堂教学为设计方案总体目标,从网站开发自然环境的配

      大小:165.8 MB网站设计

      点击下载
    • PHP编程入门与应用

      PHP编程入门与应用

      在近几年中,PHP已经发展成为世界上最为流行的Web平台,它运行在全球超过1/3的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括全球500强榜上的公司都依靠PHP来

      大小:500 MBPHP编程

      点击下载
    • 写给PHP开发者的Node.js学习指南

      写给PHP开发者的Node.js学习指南

      Node.js是一套用来编写高性能网络服务器的JavaScript工具包。结合PHP和Node.js,我们可以概览整个Web服务器从起源到现在的历史过程以及其中的改变。 《 写给PHP开发者的Node.js学习指南 》的目的是

      大小:3.46 MBNode.js

      点击下载
    • PHP5权威编程

      PHP5权威编程

      《PHP5权威编程》一书为大家全面介绍了PHP 5中的新功能、面向对象编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制。希望能够帮助读者系统了解、熟练掌握PHP,大程度地挖掘PHP的潜力,以更低的成本搭建更加稳健、高效的PHP应用。

      大小:25.3 MBPHP5

      点击下载
    • PHP和MySQL Web开发(第4版)

      PHP和MySQL Web开发(第4版)

      《PHP和MySQL Web开发》将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子

      大小:51.6 MB网站开发

      点击下载
    • PHP Zend Framework项目开发基础案例教程

      PHP Zend Framework项目开发基础案例教程

      《PHP Zend Framework项目开发基础案例教程》以实际项目——XX办公自动化管理系统的开发——为案例,详细介绍使用PHP的企业级框架Zend Framework进行Web应用开发的步骤及关键技术。全书共12章

      大小:65 MBPHP

      点击下载
    • PHP+MySQL动态网站开发从入门到精通

      PHP+MySQL动态网站开发从入门到精通

      《PHP+MySQL动态网站开发从入门到精通》本书循序渐进地介绍了PHP 7 MySQL 5.7开发动态网站的主要知识和技能,提供案例、课件、命令速查手册,让你看得懂、学得会、做得出,教你快速成为网站应用开发高手。

      大小:36.2 MB网站开发

      点击下载

    学习笔记