PHP数组函数array_multisort()用法实例分析


Posted in PHP onApril 02, 2016

本文实例分析了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 mysql数据库操作类
Jun 04 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
Php图像处理类代码分享
Jan 19 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
php fread读取文件注意事项
Sep 24 PHP
php简单统计中文个数的方法
Sep 30 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 #PHP
PHP递归实现层级树状展开
Apr 01 #PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 #PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 #PHP
PHP全局变量与超级全局变量区别分析
Apr 01 #PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 #PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 #PHP
You might like
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
2016/08/16 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
python 域名分析工具实现代码
2009/07/15 Python
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
解决Python requests 报错方法集锦
2017/03/19 Python
python简单商城购物车实例代码
2018/03/15 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python版DDOS攻击脚本
2019/06/12 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
django迁移数据库错误问题解决
2019/07/29 Python
python设置环境变量的作用整理
2020/02/17 Python
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
保安部任务及岗位职责
2014/02/25 职场文书
庆祝教师节标语
2014/10/09 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
邹越演讲观后感
2015/06/15 职场文书
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记