Tác dụng của hàm strnatcmp()
Hàm strnatcmp()
so sánh hai chuỗi bằng thuật toán "thứ tự tự nhiên".
Hàm này phân biệt chữ hoa chữ thường. Để so sánh không phân biệt chữ hoa chữ thường, hãy sử dụng hàmstrnatcasecmp()
.
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àm strnatcmp()
được đưa ra với:
Ví dụ sau đây cho thấy hàm strnatcmp()
đang hoạt động.
Ví dụ
<?php
// Sample strings
$str1 = "x2";
$str2 = "x11";
// Performing comparisons
echo strnatcmp($str1, $str2)."<br>";
echo strnatcmp($str2, $str1);
?>
Mẹo: Hàm này strnatcmp()
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ả như là một "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" được sắp xếp trước "x11" vì "2" nhỏ hơn "11" .
Thông số
Hàm strnatcmp()
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 strnatcmp()
chức năng 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, "strnatcmp");
print_r($images);
?>