PHP: Các hàm sắp xếp mảng
Video hướng dẫn:
PHP cung cấp cho chúng ta một số hàm sắp xếp mảng. Với mỗi loại mảng sẽ có một hàm tương ứng.
sort() và rsort()
Với mảng có chỉ số là kiểu nguyên thì hàm sort() sắp xếp mảng tăng dần, hàm rsort() sắp xếp mảng giảm dần.
Ví dụ:
$countries = array("us","uk","ca","cr","de");
sort($countries);
while(list($key, $value) = each($countries)) {
echo"Phần tử $key = $value <br>\n";
}
Kết quả là:
Phần tử 0 = ca
Phần tử 1 = cr
Phần tử 2 = de
Phần tử 3 = uk
Phần tử 4 = us
asort() và arsort()
Các hàm này dùng để sắp xếp mảng có chỉ số có kiểu chuỗi, trong đó asort() sắp xếp tăng dần và arsort() sắp xếp giảm dần. Nếu bạn dùng các hàm sort() hay asort() thì các chỉ số kiểu chuỗi sẽ chuyển thành các chỉ số kiểu nguyên.
Ví dụ:
$countries = array("us" => "United States",
"uk" => "United Kingdom",
"ca" => "Canada",
"cr" => "Costa Rica",
"de" => "Germany"
);
asort($countries); //sắp xếp tăng dần
while(list($key, $value) = each($countries)) {
echo"Mã $key là $value";
}
Kết quả:
Mã ca là Canada
Mã cr là Costa Rice
Mã de là Germany
Mã uk là United Kingdom
Mã us là United States
Nhưng nếu thay asort($countries) bằng sort($countries) thì kết quả sẽ là:
Mã 0 là Canada
Mã 1 là Costa Rice
Mã 2 là Germany
Mã 3 là United Kingdom
Mã 4 là United States
ksort() và krsort()
Dùng để sắp xếp mảng tăng hoặc giảm theo chỉ số.
Ví dụ:
$countries = array("e" => "United States",
"d" => "United Kingdom",
"c" => "Canada",
"b" => "Costa Rica",
"a" => "Germany"
);
kasort($countries); //sắp xếp tăng dần
while(list($key, $value) = each($countries)) {
echo"Chỉ số $key là $value";
}
Kết quả:
Chỉ số a là Germany
Chỉ số b là Costa Rice
Chỉ số c là Canada
Chỉ số d là United Kingdom
Chỉ số e là United States