天天看點

PHP 二維數組排序——array_multisort()

有時候我們要對一個多元數組進行排序,如對以下數組:

$a = array(
        array(
            'age' => ,
            'name' => 'John',
            ),
        array(
            'age' => ,
            'name' => 'Jim',
            ),  
        array(
            'age' => ,
            'name' => 'Tom',
            ),
    );
           

根據age進行排序,則我們使用array_multisort(),其功能是

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

是以要先把age拿出來:

$age = array();
    foreach ($a as $value) {
        $age[] = $value['age'];
    }
           

再對$a數組進行排序:

array_multisort($age, SORT_ASC, $a);
           

這裡相當于使用 age數組對 a g e 數 組 對 a進行升序排序