Hàm strnatcmp
Hàm strnatcmp thực hiện so sánh hai chuỗi có tính đến thứ tự tự nhiên của các ký tự.
Không giống như so sánh thông thường, hàm này nhận diện các số bên trong chuỗi và so sánh chúng theo giá trị số.
Hàm trả về 0 nếu các chuỗi giống hệt nhau, số -1 nếu chuỗi đầu tiên nhỏ hơn chuỗi thứ hai,
và số lớn hơn 1 nếu chuỗi đầu tiên lớn hơn chuỗi thứ hai.
Cú pháp
strnatcmp(string $str1, string $str2): int
Ví dụ
So sánh các chuỗi có chứa số theo cách thông thường và với sự trợ giúp của strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Kết quả thực thi mã:
strcmp result: 1
strnatcmp result: -1
Ví dụ
So sánh các chuỗi với các số khác nhau:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Kết quả thực thi mã:
-1
Ví dụ
So sánh các chuỗi giống hệt nhau:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Kết quả thực thi mã:
0
Xem thêm
-
hàm
strcmp,
thực hiện so sánh chuỗi an toàn nhị phân -
hàm
strcasecmp,
so sánh chuỗi không phân biệt chữ hoa chữ thường -
hàm
natcasesort,
sắp xếp mảng sử dụng thứ tự tự nhiên không phân biệt chữ hoa chữ thường