在某个项目中,需要读取某个文件夹下的所有文件,在本地的 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),其他数组(可以是二维的))
原文:https://www.cnblogs.com/whx-blogs/p/10387849.html