1. Hàm natcasesort() trong PHP
Hàm natcasesort() trong PHP được sử dụng để sắp xếp một mảng. Các phần tử sẽ được sắp xếp theo trật tự alphabet và không phân biệt chữ hoa chữ thường. Hàm natcasesort() trong PHP triển khai một thuật toán sắp xếp mà xếp thứ tự các chuỗi chữ-số như cách con người thường làm trong khi duy trì mối liên kết key-value. Điều này được miêu tả là natural ordering – sắp xếp tự nhiên. Ta có thể hiểu chúng sẽ được sắp xếp tự nhiên như thứ tự bình thường mà ta vẫn hay sử dụng theo bảng chữ cái hay số. Hàm natcasesort() được giới thiệu và sử dụng từ phiên bản PHP 4.0
2. Cú pháp của hàm natcasesort() trong PHP
Ta có cú pháp của hàm natcasesort() trong PHP
natcasesort($array)
Trong đó $array chính là mảng truyền vào mà ta cần sắp xếp. Hàm natcasesort() cũng chỉ chấp nhận và bắt buộc một tham số duy nhất là $array . Hàm sẽ trả về True khi sắp xếp thành công hoặc False nếu sắp xếp thất bại. Với những phần tử được so sánh là bằng nhau thì chúng sẽ giữ nguyên vị trí ban đầu. Và con trỏ nội bộ của mảng sẽ được đặt lại lên phần tử đầu tiên của mảng.
Ví dụ : so sánh giữa việc sắp xếp giữa hàm natsort() và hàm natcasesort()
<?php $array1 = $array2 = array("bai1.php","bai10.php", "bai2.php","bai22.php","bai 15.php"); natsort($array1); echo "Sắp xếp theo natsort"; echo "<pre>"; print_r($array1); echo "</pre>"; natcasesort($array2); echo "Sắp xếp theo natcasesort"; echo "<pre>"; print_r($array2); echo "</pre>"; ?>
Kết quả
Sắp xếp theo natsort Array ( [0] => bai1.php [2] => bai2.php [1] => bai10.php [4] => bai 15.php [3] => bai22.php ) Sắp xếp theo natcasesort Array ( [0] => bai1.php [2] => bai2.php [1] => bai10.php [4] => bai 15.php [3] => bai22.php )
Ta có thể thấy ngay việc sắp xếp khi sử dụng hàm natsort() và hàm natcassesort() là khác nhau như thế nào.
3. Ví dụ về hàm natcassesort() trong PHP
Ví dụ 1:
<?php $arr1 = array("lttd12.php", "lttd10.php", "lttd2.php", "lttd1.php"); $arr2 = $arr1; sort($arr1); echo "Sắp xếp theo sort"; echo "<pre>"; print_r($arr1); natcasesort($arr2); echo "Sắp xếp theo natcasesort"; echo "<pre>"; print_r($arr2); ?>
Kết quả
Sắp xếp theo sort Array ( [0] => lttd1.php [1] => lttd10.php [2] => lttd12.php [3] => lttd2.php ) Sắp xếp theo natcasesort Array ( [3] => lttd1.php [2] => lttd2.php [1] => lttd10.php [0] => lttd12.php )
Ví dụ 2:
<?php $arr = array("lTtd15.php", "Lttd10.php", "lttD1.php","LTTD22.php", "lttd2.php"); natcasesort($arr); echo '<pre>'; print_r($arr); ?>
Kết quả
Array ( [2] => lttD1.php [4] => lttd2.php [1] => Lttd10.php [0] => lTtd15.php [3] => LTTD22.php )