一、什麼是sort()函數
sort()函數是PHP中一種非常常用的數組排序函數,它可以對數組進行升序排序。sort()函數可以用於任何數組類型(數字、字符串等),但是在排序之前需要注意數組的鍵和值的對應關係,避免出現排序後鍵和值不對應的情況。
sort()函數提供了兩種排序方式:升序和降序。升序排列是將值按從小到大的順序排列,降序排列是將值按從大到小的順序排列。
二、sort()函數的語法和使用方法
sort()函數的語法如下:
sort(array,sorttype);
其中,array參數表示需要排序的數組,sorttype參數是可選參數,表示排序類型,可以是以下三種類型之一:
- SORT_REGULAR:按照普通的比較排序
- SORT_NUMERIC:按照數值比較排序
- SORT_STRING:按照字符串比較排序
sort()函數使用方法:
$arr = array(5, 3, 1, 4, 2); sort($arr);
上述代碼將數組$arr按照默認的升序排列。
三、sort()函數的應用
1、對數字數組進行排序
下面是一個對數字數組進行排序的示例:
$arr = array(5, 3, 1, 4, 2); sort($arr);//升序排列 print_r($arr);
結果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
在上面的例子中,由於沒有指定排序類型,所以按照默認的SORT_REGULAR進行排序。
2、對字符串數組進行排序
下面是一個對字符串數組進行排序的示例:
$arr = array("lemon", "orange", "banana", "apple"); sort($arr);//升序排列 print_r($arr);
結果:
Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )
在上面的例子中,按照字符串比較方式進行了排序。
3、對關聯數組進行排序
下面是一個對關聯數組進行排序的示例:
$arr = array( array("name"=>"Tom", "age"=>20), array("name"=>"John", "age"=>25), array("name"=>"Mary", "age"=>18) ); array_multisort(array_column($arr,"name"),SORT_ASC,$arr); print_r($arr);
結果:
Array ( [0] => Array ( [name] => John [age] => 25 ) [1] => Array ( [name] => Mary [age] => 18 ) [2] => Array ( [name] => Tom [age] => 20 ) )
使用array_multisort()函數可以對關聯數組進行排序,本例中按照名字首字母升序排序。
四、sort()函數的注意事項
在使用sort()函數進行升序排列時,需要注意以下幾點:
- sort()函數會改變原始數組的鍵值關係,使用之前需要備份原始數組;
- sort()函數只會按照值進行排序,對於鍵值對應關係需要自己在程序中處理;
- 如果使用sort()函數對關聯數組進行排序,需要使用array_multisort()函數,並在第一個參數中指定需要排序的鍵值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/289610.html