PHP 二維數組按某一個鍵值排序

1、前言

在某個項目中,須要讀取某個文件夾下的全部文件,在本地的 Windows 環境下時,讀取出來的二維數組的文件名稱和在 Windows 文件夾的文件排序一致,php

可是項目上線後,環境爲 Linux, 讀取出來的二維數組的文件名稱和在 Linux 下的文件排序不一致,具體緣由不清楚。html

2、解決方案

對讀取出來的二維數組按照文件名稱進行排序,從而解決問題數組

參考代碼:函數

 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);

未排序前數組排序爲:post

排序後前數組排序爲:spa

 3、總結code

其中  array_column(數組,數組中的某個鍵值)  從多維數組中取出某個鍵值的一列  返回一個一維數組;htm

array_multisort(數組(一維數組),排序方式(SORT_ASC,SOTR_DESC),其餘數組(能夠是二維的))blog

array_multisort 函數的用法請參考: PHP array_multisort()函數超詳細理解排序

相關文章
相關標籤/搜索