Hàm sort() trong PHP
Hàm sort()
sẽ sắp xếp các phần tử của một mảng theo thứ tự từ thấp đến cao.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cú Pháp
Cú Pháp: sort($array, $sort_flag);
Trong đó:
$array
là mảng cần sắp xếp.$sort_flag
là tham số không bắt buộc, quy định kiểu sắp xếp.
Vậy có các kiểu sắp xếp nào?
Bài viết này được đăng tại [free tuts .net]
- SORT_REGULAR : kiểu mặc định, so sánh bình thường.
- SORT_NUMERIC : so sánh dựa vào số.
- SORT_STRING : so sánh dựa vào chuỗi.
- SORT_NATURAL: so sanh theo thứ tự alphabet.
- SORT_FLAG_CASE : sử dụng kết hợp với SORT_STRING hoặc SORT_NATURAL để sắp xếp chuỗi mà không phân biệt chữ hoa chư thường.
Hàm sẽ trả về TRUE nếu sắp xếp thành công và FALSE nếu thất bại.
Ví dụ
Code
$subject = array( "php", "java", "js", "html" ); sort($subject); foreach ($subject as $key => $val) { echo "subject[" . $key . "] = " . $val . "<br />"; }
Kết quả
subject[0] = html subject[1] = java subject[2] = js subject[3] = php
Code
$subject = array( 1, 43, 55, 24 ); sort($subject, SORT_NUMERIC); foreach ($subject as $key => $val) { echo "subject[" . $key . "] = " . $val . "<br />"; }
Kết quả
subject[0] = 1 subject[1] = 24 subject[2] = 43 subject[3] = 55
Code
$subject = array( 'laravel', 'Zend', 'cI' ); sort($subject, SORT_NATURAL); foreach ($subject as $key => $val) { echo "subject[" . $key . "] = " . $val . "<br />"; }
Kết quả
subject[0] = Zend subject[1] = cI subject[2] = laravel
Ta có thể thấy tuy rằng z đúng sau c nhưng Zend vẫn được xếp trên cI do Z được viết hoa.Để sắp xếp không phân biệt chữ hoa chữ thường ta nên dùng kết hợp với SORT_FLAG_CASE.
Code
$subject = array( 'laravel', 'Zend', 'cI' ); sort($subject, SORT_NATURAL | SORT_FLAG_CASE); foreach ($subject as $key => $val) { echo "subject[" . $key . "] = " . $val . "<br />"; }
Kết quả
subject[0] = cI subject[1] = laravel subject[2] = Zend
chữ Zend đã về đúng vị trí của nó :D
Tham khảo : php.net