Hàm strnatcasecmp() trong PHP
Mô hình
So sánh hai chuỗi bằng thuật toán "tự nhiên" (không phân biệt chữ hoa thường):
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
Định nghĩa và cách sử dụng
hàm strnatcasecmp() sử dụng một thuật toán "tự nhiên" để so sánh hai chuỗi.
Trong thuật toán tự nhiên, số 2 nhỏ hơn số 10. Trong việc sắp xếp máy tính, 10 nhỏ hơn 2, vì số đầu tiên trong 10 nhỏ hơn số 2.
Ghi chú:strnatcasecmp() không phân biệt chữ hoa và chữ thường.
Cú pháp
strnatcasecmp(string1,string2)
Tham số | Mô tả |
---|---|
string1 | Bắt buộc. Định nghĩa chuỗi thứ nhất cần so sánh. |
string2 | Bắt buộc. Định nghĩa chuỗi thứ hai cần so sánh. |
Chi tiết kỹ thuật
Trả về giá trị: |
Hàm này trả về:
|
Phiên bản PHP: | 4+ |
Các ví dụ thêm
Ví dụ 1
Sự khác biệt giữa thuật toán tự nhiên (strnatcmp) và thuật toán sắp xếp chuỗi máy tính tiêu chuẩn (strcmp):
<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "So sánh chuỗi tiêu chuẩn"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "So sánh chuỗi tự nhiên"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>