首页 > 作文

php数组怎么根据其中的一个值进行排序?解决方法

更新时间:2023-04-07 18:53:10 阅读: 评论:0

有一个数组如下

我想对其进行netpas网游加速器一个排序,按照其“sort”的值的大小进行排序,3->4->7。

解决方法如下:

1、首先介绍php的两个方法

方法一:array_column() 返回输入数组中某个单一列的值。php版本 5.5+。

参数描述array必需。规定要使用的多维数组(记录集)。column_key

必需。需要返回值的列。

可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。

该参数也可以是 null,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。

index_key可选。用作返回数组的索引/键的列。

例子一:

 1         $cmf_ttings = array( 2             array ( 3                 "url" => "img/20191015/5da586020fa6b.jpg", 4                 "alt" => "lunbo2", 5                 "href" => "https://www.baidu.com/", 6                 "sort" => "7" 7             ), 8      怎么把开机密码取消       array( 9                 "url" => "仰卧起坐的技巧im重阳节发朋友圈的精美句子g/20191018/5da9783499dec.jpg",10                 "alt" => "x1300",11                 "href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/x1300-180.html",12                 "sort" => "3"13             ),14             array(15                 "url" => "img/20191018/5da987c81f420.jpg",16                 "alt" => "s300",17                 "href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/s300-170.html",18                 "sort" => "4"19             )20         );21 22         $cmf_arr = array_column($cmf_ttings, 'sort');

打印$cmf_arr得到如下结果

方法二:array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

array_multisort(‘数组1’, ‘sort_asc(升序)’, ‘数组2’, ‘数组3’, ‘数组4’, ‘数组5’, ‘数组6’);

数组1:进行排序的数组。

sort_asc(升序):是对数组1的排序方式。

‘数组2’, ‘数组3’……:根据数组1的排序方式对’数组2’, ‘数组3’, ‘数组4’, R负指数幂的运算法则16;数组5’, ‘数组6’进行排序。

数组1升序排序: 第二组数据[1] => “3” 位置变成[0] => “3”,那么’数组2′, ‘数组3’, ‘数组4’, ‘数组5’, ‘数组6’的第二组数据[1] => “不管是什么数据” 位置变成[0] => “不管是什么数据”。

参数描述array1必需。规定数组。sorting order可选。规定排列顺序。可能的值:

sort_asc – 默认。按升序排列 (a-z)。sort_desc – 按降序排列 (z-a)。sorting type可选。规定排序类型。可能的值:

sort_regular – 默认。把每一项按常规顺序排列(standard ascii,不改变类型)。sort_numeric – 把每一项作为数字来处理。sort_string – 把每一项作为字符串来处理。sort_locale_string – 把每一项作为字符串来处理,基于当前区域设置(可通过 tlocale() 进行更改)。sort_natural – 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。sort_flag_ca – 可以结合(按位或)sort_string 或 sort_natural 对字符串进行排序,不区分大小写。array2可选。规定数组。array3可选。规定数组。

例子二:

 1         $cmf_ttings = array( 2             array ( 3                 "url" => "img/20191015/5da586020fa6b.jpg", 4                 "alt" => "lunbo2", 5                 "href" => "https://www.baidu.com/", 6                 "sort" => "7" 7             ), 8             array( 9                 "url" => "img/20191018/5da9783499dec.jpg",10                 "alt" => "x1300",11                 "href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/x1300-180.html",12                 "sort" => "3"13             ),14             array(15                 "url" => "img/20191018/5da987c81f420.jpg",16                 "alt" => "s300",17                 "href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/s300-170.html",18                 "sort" => "4"19             )20         );22         $cmf_arr = array_column($cmf_ttings, 'sort');24         array_multisort($cmf_arr, sort_asc, $cmf_ttings);

打印$cmf_ttings得到如下结果,满足需求。

总结:利用array_column() 把要排序的键值提取出来,在利用array_multisort()对数组进行排序。理解起来有点绕,不过以后的用处会很大的。

如有错误请指出,谢谢。

本文发布于:2023-04-07 18:53:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/9915f61dd7da46b14040ce98d0c04af7.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:php数组怎么根据其中的一个值进行排序?解决方法.doc

本文 PDF 下载地址:php数组怎么根据其中的一个值进行排序?解决方法.pdf

上一篇:php 伪协议
下一篇:返回列表
标签:数组   升序   可选   字符串
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图