PHP二維數組排序的具體方法詳解

主頁 > 學習 > php >

次瀏覽

摘要:我們今天為大家介紹的是關于PHP二維數組排序的相關介紹,希望所介紹的內容對又需要的新手們有所幫助。

我們今天為大家介紹的是關于PHP二維數組排序的相關介紹,希望所介紹的內容對又需要的新手們有所幫助。
我們在學習的時候知道,PHP本身就存在一個多維數據排序的函數。

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )  
下面是手冊當中對于array_multisort函數的描述:

array_multisort() 可以用來一次對多個PHP二維數組排序進行排序,或者根據某一維或多維對多維數組進行排序。

關聯(string)鍵名保持不變,但數字鍵名會被重新索引。

輸入數組被當成一個表的列并以行來排序――這類似于 SQL 的 ORDER BY 子句的功能。第一個數組是要排序的主要數組。數組中的行(值)比較為相同的話就按照下一個輸入數組中相應值的大小來排序,依此類推。

從手冊中看到,PHP二維數組排序是按照第一個數組進行排序,并且調整后面的順序。像這樣的數組:

array( 'id' => array(1,3,2),  
          'data'=>array('a','c','b'))
只要按照id進行多維排序,就可以了。但是很多時候,我們構造出的數組是這樣的:

array(  
            array('id'=>1,'data'=>'a'),  
            array('id'=>3,'data'=>'c'),  
            array('id'=>2,'data'=>'b')  
        );  
PHP二維數組排序的元素是按行排列的,需要按其中的一列進行排序。PHP好像也沒提供類似矩陣轉置的函數,
所以不能直接使用array_multisort進行多維排序。不過只需要先把排序的列抽取出來,作為第一個參數傳給array_multisort即可。

隨機新聞
急速赛车收