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不知道如何去比較兩個數組,所以需要建立一個比較它們的方法。