首页 > 编程语言 > 详细

PHP 二维数组按某一个键值排序

时间:2019-02-16 15:51:58      阅读:195      评论:0      收藏:0      [点我收藏+]

一、前言

在某个项目中,需要读取某个文件夹下的所有文件,在本地的 Windows 环境下时,读取出来的二维数组的文件名称和在 Windows 文件夹的文件排序一致,

但是项目上线后,环境为 Linux, 读取出来的二维数组的文件名称和在 Linux 下的文件排序不一致,具体原因不清楚。

二、解决方案

对读取出来的二维数组按照文件名称进行排序,从而解决问题

参考代码:

 1 $arr=[
 2     array(
 3         ‘name‘=>‘Michael‘,
 4         ‘age‘=>28
 5     ),
 6     array(
 7         ‘name‘=>‘Jane‘,
 8         ‘age‘=>14
 9     ),
10     array(
11         ‘name‘=>‘Ming‘,
12         ‘age‘=>59
13     ),
14     array(
15         ‘name‘=>‘Justin‘,
16         ‘age‘=>23
17     ),
18     array(
19         ‘name‘=>‘Coco‘,
20         ‘age‘=>23
21     ),
22     array(
23         ‘name‘=>‘Long‘,
24         ‘age‘=>21
25     ),
26 ];
27 print_r($arr);
28 array_multisort(array_column($arr,‘name‘),SORT_ASC,$arr);  // 按 ‘name’ 进行升序排序 SORT_ASC 升序 SORT_DESC 降序
29 print_r($arr);

未排序前数组排序为:

技术分享图片

排序后前数组排序为:

技术分享图片

 三、总结

其中  array_column(数组,数组中的某个键值)  从多维数组中取出某个键值的一列  返回一个一维数组;

array_multisort(数组(一维数组),排序方式(SORT_ASC,SOTR_DESC),其他数组(可以是二维的))

PHP 二维数组按某一个键值排序

原文:https://www.cnblogs.com/whx-blogs/p/10387849.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!