php 簡單數組排序的方法,供大家學習參考。
PHP不知道如何去比較兩個數組,需要建立一個比較它們的方法。
一、數字索引數組的初始化
複製代碼 代碼如下:$arr = array('100', '200', '300');
以上就代碼就建立了一個數組,並且包含3個值。PHP數組的數字索引是從0開始的。所以$arr[0]的值為100。
可以用一個簡單的 "="號把一個數組中的值複製到另一個數組中。
如果需要將按升序排列的數字儲存到一個數組中,可以使用range()函數自動建立這個數組。
如以下代碼將建立一個從1到10的數字數組:
複製代碼 代碼如下:$nums = range(1,10);
這個函數還有第三個參數,可以設定數字增長的步長。如: range(1,10,2)就是1到10之間的奇數。
PHP還支援相關數組,就是可以將變數值和關鍵字關聯起來。如:
複製代碼 代碼如下:$arr = array('one'=>100, 'two'=>200, 'three'=>300);
二、數組排序
1、sort()函數:按數組值的字母或數位升序排序。
sort()函數區分大小寫,所有大寫字母都在小寫字母的前面。這個函數還有第二個參數,可以傳遞SORT_NUMERIC或SORT_STRING或SORT_REGULAR(預設值)。 指定排序功能是非常有用的,例如,當妖比較數字12和2時,從字串來看,12要小於2,而從數字角度看正好相反。
2、asort()函數,ksort()函數:
如果使用了相關數組,在排序後還要保持關鍵字和值的排序仍然一致。就要用到這兩個函數了。ksort就是按照key(關鍵字)來排序,asort就是value(按照值)來排序(都是升序)。
例如有數組:
$price = array('蘋果'=5,'香蕉'=6,'荔枝'=7);
我們用ksort($price);排序後結果是:荔枝--7,蘋果--5,香蕉--6
用asort($price);排序後的結果是:蘋果--5,香蕉--6,荔枝--7
對應的這幾個反相排序就是在sort前面加一個'r'。也就是rsort(),arsort(),krsort()
三、多維陣列的排序
PHP知道如何比較兩個數字或字串,但多維陣列的每個元素都是數組。
PHP不知道如何去比較兩個數組,所以需要建立一個比較它們的方法。