php基础篇-二维数组排序 array_multisort
对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下:
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 | 可选。规定输入的数组。 |
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
- SORT_ASC - 默认,按升序排列。(A-Z)
- SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
- SORT_REGULAR - 默认。将每一项按常规顺序排列。
- SORT_NUMERIC - 将每一项按数字顺序排列。
- SORT_STRING - 将每一项按字母顺序排列
- <?php
- function my_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){
- if(is_array($arrays)){
- foreach ($arrays as $array){
- if(is_array($array)){
- $key_arrays[] = $array[$sort_key];
- }else{
- return false;
- }
- }
- }else{
- return false;
- }
- array_multisort($key_arrays,$sort_order,$sort_type,$arrays);
- return $arrays;
- }
- $person = array(
- array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180),
- array('id'=>2,'name'=>'tom','weight'=>53,'height'=>150),
- array('id'=>3,'name'=>'jerry','weight'=>120,'height'=>156),
- array('id'=>4,'name'=>'bill','weight'=>110,'height'=>190),
- array('id'=>5,'name'=>'linken','weight'=>80,'height'=>200),
- array('id'=>6,'name'=>'madana','weight'=>95,'height'=>110),
- array('id'=>7,'name'=>'jordan','weight'=>70,'height'=>170)
- );
- var_dump($person);
- $person = my_sort($person,'name',SORT_ASC,SORT_STRING);
- var_dump($person);
- $person = my_sort($person,'weight');
- var_dump($person);
- ?>
结果如下:
array (size=7)0 => array (size=4)'id' => 1'name' => 'fj' (length=2)'weight' => 100'height' => 1801 => array (size=4)'id' => 2'name' => 'tom' (length=3)'weight' => 53'height' => 1502 => array (size=4)'id' => 3'name' => 'jerry' (length=5)'weight' => 120'height' => 1563 => array (size=4)'id' => 4'name' => 'bill' (length=4)'weight' => 110'height' => 1904 => array (size=4)'id' => 5'name' => 'linken' (length=6)'weight' => 80'height' => 2005 => array (size=4)'id' => 6'name' => 'madana' (length=6)'weight' => 95'height' => 1106 => array (size=4)'id' => 7'name' => 'jordan' (length=6)'weight' => 70'height' => 170
array (size=7)0 => array (size=4)'id' => 4'name' => 'bill' (length=4)'weight' => 110'height' => 1901 => array (size=4)'id' => 1'name' => 'fj' (length=2)'weight' => 100'height' => 1802 => array (size=4)'id' => 3'name' => 'jerry' (length=5)'weight' => 120'height' => 1563 => array (size=4)'id' => 7'name' => 'jordan' (length=6)'weight' => 70'height' => 1704 => array (size=4)'id' => 5'name' => 'linken' (length=6)'weight' => 80'height' => 2005 => array (size=4)'id' => 6'name' => 'madana' (length=6)'weight' => 95'height' => 1106 => array (size=4)'id' => 2'name' => 'tom' (length=3)'weight' => 53'height' => 150
array (size=7)0 => array (size=4)'id' => 2'name' => 'tom' (length=3)'weight' => 53'height' => 1501 => array (size=4)'id' => 7'name' => 'jordan' (length=6)'weight' => 70'height' => 1702 => array (size=4)'id' => 5'name' => 'linken' (length=6)'weight' => 80'height' => 2003 => array (size=4)'id' => 6'name' => 'madana' (length=6)'weight' => 95'height' => 1104 => array (size=4)'id' => 1'name' => 'fj' (length=2)'weight' => 100'height' => 1805 => array (size=4)'id' => 4'name' => 'bill' (length=4)'weight' => 110'height' => 1906 => array (size=4)'id' => 3'name' => 'jerry' (length=5)'weight' => 120'height' => 156
php基础篇-二维数组排序 array_multisort相关推荐
- php 二维数组排序,php基础篇-二维数组排序 array_multisort
搜索热词 对2维数组或者多维数组排序是常见的问题,在PHP知识库" href="http://lib.csdn.net/base/PHP" target="_b ...
- php二维数组排序降序,PHP二维数组排序 array_multisort
这篇文章主要介绍的内容是关于PHP二维数组排序 array_multisort,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 对2维数组或者多维数组排序是常见的问题,在PHP中我们有个 ...
- PHP二维数组排序 array_multisort
1.根据二维数组中的某一列按升序或者降序排列 不需要遍历数组就可以对二维数组排序 // 1.构造数组 $data = [['a'=>23,'b'=>'hhhh','c'=>'2013 ...
- PHP语言二维数组排序,php 二维数组排序 array_multisort
对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type ...
- c语言sort函数排序二维数组,js 二维数组排序sort()函数
一.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; arr.sort(function(x, y){ return x[0] – y[0]; }) ...
- php 二维排序函数,PHP二维数组排序函数
PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: functi ...
- PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order=0) {if ( ...
- php 二维数组排序函数,php自定义二维数组排序函数array
这次给大家带来php自定义二维数组排序函数array,php自定义二维数组排序函数array的注意事项有哪些,下面就是实战案例,一起来看一下. 这篇文章主要介绍了php自定义二维数组排序函数array ...
- [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...
最新文章
- 邻域闭包matlab,闭包 - it610.com
- android语言 选择题,Android N以编程方式更改语言
- Android应用中Back键的监听及处理
- 苦逼的程序员怎么发展
- [2767]翻转排序 sdutOJ
- 教程-delphi的开源json库:superobject,用法简介
- mysql二进制日志开启方法_mysql中如何开启binlog?开启二进制日志文件?binary log?
- c#图像处理、图片拼接、图片裁剪、图片缩放、图上添加形状、屏幕截图、图片反色、改变图片色彩度全解
- Java 8 Base64 编码解码
- 2022大众点评商家数据
- python库手册_Python 中文开发手册
- php库函数是什么,PHP常用库函数
- (2020/11/9)学习记录
- [日推荐]『足球欧洲』.这里有关于足球的一切!
- 服务器正常运行温度,服务器cpu的温度在什么范围内是属于正常温度
- Word参考文献设置-尾注后添加致谢等内容
- 小功率机械无级变速器结构设计
- SwiftUI 人工智能教程之图像识别植物或花朵通过图片和相机
- Qt学习(一)模型与视图
- cnn生成图像显著图_基本原理 | 图片中的绝对位置信息,CNN能搞定吗?