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
)