Hàm PHP strnatcmp()
Mô hình
Sử dụng thuật toán "tự nhiên" để so sánh hai chuỗi (phân biệt chữ hoa và chữ thường):
<?php echo strnatcmp("2Hello world!","10Hello world!"); echo "<br>"; echo strnatcmp("10Hello world!","2Hello world!"); ?>
Định nghĩa và cách sử dụng
Hàm strnatcmp() 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ú:Hàm này nhạy với chữ hoa và chữ thường.
Cú pháp
strnatcmp(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
Giá trị trả về: |
Hàm này trả về:
|
Phiên bản PHP: | 4+ |
Thêm ví dụ
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 thông thường (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); ?>