Giới thiệu
Hàm strnatcmp() so sánh hai chuỗi bằng thuật toán "thứ tự tự nhiên" (natural order). Khác với so sánh thông thường, thuật toán này xử lý số trong chuỗi như con người mong đợi (ví dụ: "2" < "10", trong khi so sánh thông thường "2" > "10" vì so sánh ký tự).
Lưu ý: Hàm này phân biệt chữ hoa chữ thường.
Cú pháp
strnatcmp(string $str1, string $str2): int
Tham số
- str1 - Chuỗi thứ nhất.
- str2 - Chuỗi thứ hai.
Giá trị trả về
- 0 - nếu hai chuỗi bằng nhau.
- < 0 - nếu
str1nhỏ hơnstr2. - > 0 - nếu
str1lớn hơnstr2.
Ví dụ
Ví dụ 1: Phân biệt chữ hoa chữ thường
<?php
echo strnatcmp("Test", "TEST");
?>
Kết quả:
1
Ví dụ 2: So sánh số tự nhiên
<?php
echo strnatcmp("5Demo", "50DEMO");
echo "\n";
echo strnatcmp("50Demo", "5DEMO");
echo "\n";
echo strnatcmp("100Demo", "100Demo");
?>
Kết quả:
-1 1 0
Giải thích: "5" < "50" nên trả về -1; "50" > "5" nên trả về 1; hai chuỗi giống nhau trả về 0.