Hàm strnatcasecmp() trong PHP

Mô hình

So sánh hai chuỗi bằng thuật toán "tự nhiên" (không phân biệt chữ hoa thường):

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

Chạy ví dụ

Định nghĩa và cách sử dụng

hàm strnatcasecmp() 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ú:strnatcasecmp() không phân biệt chữ hoa và chữ thường.

Cú pháp

strnatcasecmp(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

Trả về giá trị:

Hàm này trả về:

  • 0 - Nếu hai chuỗi bằng nhau
  • <0 - Nếu string1 nhỏ hơn string2
  • >0 - Nếu string1 lớn hơn string2
Phiên bản PHP: 4+

Các ví dụ thêm

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 tiêu chuẩn (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);
?>

Chạy ví dụ