Tác dụng của hàm strnatcasecmp()
Hàm strnatcasecmp()
so sánh hai chuỗi bằng thuật toán "thứ tự tự nhiên".
Chức năng này không phân biệt chữ hoa chữ thường. Để so sánh phân biệt chữ hoa chữ thường, hãy sử dụng hàm strnatcmp()
.
Bảng sau đây tóm tắt các chi tiết kỹ thuật của chức năng này.
Giá trị trả về: | Trả về giá trị âm ( < 0 ) nếu string1 nhỏ hơn string2 ; một giá trị dương ( > 0 ) nếu string1 lớn hơn string2 và 0 nếu cả hai chuỗi đều bằng nhau. |
---|---|
Phiên bản: | PHP4+ |
cú pháp
Cú pháp cơ bản của hàmstrnatcasecmp()
được đưa ra với:
Ví dụ sau đây cho thấy hàmstrnatcasecmp()
đang hoạt động.
Ví dụ
<?php
// Sample strings
$str1 = "x2";
$str2 = "X11";
// Performing comparisons
echo strnatcasecmp($str1, $str2)."<br>";
echo strnatcasecmp($str2, $str1);
?>
Mẹo: Hàm này strnatcasecmp()
triển khai một thuật toán so sánh sắp xếp thứ tự các chuỗi chữ và số theo cách mà con người sẽ làm. Điều này được mô tả là "thứ tự tự nhiên", ví dụ: trong sắp xếp theo thứ tự bảng chữ cái "x11" sẽ được sắp xếp trước "x2" vì "1" nhỏ hơn "2", nhưng trong sắp xếp tự nhiên "x2" sẽ được sắp xếp trước "x11" vì "2" nhỏ hơn "11".
Thông số
Hàm strnatcasecmp()
chấp nhận các tham số sau.
Tham số | Sự miêu tả |
---|---|
string1 | Yêu cầu. Chỉ định chuỗi đầu tiên để so sánh. |
string2 | Yêu cầu. Chỉ định chuỗi thứ hai để so sánh. |
Thêm ví dụ
Dưới đây là một số ví dụ khác cho thấy hàm strnatcasecmp()
thực sự hoạt động như thế nào:
Ví dụ sau minh họa sự khác biệt giữa thuật toán sắp xếp thứ tự tự nhiên và thuật toán sắp xếp chuỗi máy tính thông thường sử dụng hàm này làm hàm so sánh.
Ví dụ
<?php
// Sample array
$images = array("IMG10.png", "img12.png", "IMG2.png", "img1.png");
// Sorting array using standard string comparison
usort($images, "strcmp");
print_r($images);
// Sorting array using natural order string comparison
usort($images, "strnatcasecmp");
print_r($images);
?>