PHP二維數(shù)組排序的具體方法介紹
我們今天為大家介紹的是關(guān)于PHP二維數(shù)組排序的相關(guān)介紹,希望所介紹的內(nèi)容對又需要的新手們有所幫助。我們在學(xué)習(xí)的時候知道,PHP本身就存在一個多維數(shù)據(jù)排序的函數(shù)。
- bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )
#t#下面是手冊當(dāng)中對于array_multisort函數(shù)的描述:
array_multisort() 可以用來一次對多個PHP二維數(shù)組排序進(jìn)行排序,或者根據(jù)某一維或多維對多維數(shù)組進(jìn)行排序。
關(guān)聯(lián)(string)鍵名保持不變,但數(shù)字鍵名會被重新索引。
輸入數(shù)組被當(dāng)成一個表的列并以行來排序――這類似于 SQL 的 ORDER BY 子句的功能。***個數(shù)組是要排序的主要數(shù)組。數(shù)組中的行(值)比較為相同的話就按照下一個輸入數(shù)組中相應(yīng)值的大小來排序,依此類推。
從手冊中看到,PHP二維數(shù)組排序是按照***個數(shù)組進(jìn)行排序,并且調(diào)整后面的順序。像這樣的數(shù)組:
- array( 'id' => array(1,3,2),
- 'data'=>array('a','c','b'))
只要按照id進(jìn)行多維排序,就可以了。但是很多時候,我們構(gòu)造出的數(shù)組是這樣的:
- array(
- array('id'=>1,'data'=>'a'),
- array('id'=>3,'data'=>'c'),
- array('id'=>2,'data'=>'b')
- );
PHP二維數(shù)組排序的元素是按行排列的,需要按其中的一列進(jìn)行排序。PHP好像也沒提供類似矩陣轉(zhuǎn)置的函數(shù),所以不能直接使用array_multisort進(jìn)行多維排序。不過只需要先把排序的列抽取出來,作為***個參數(shù)傳給array_multisort即可。