Hàm PHP strnatcmp()

Mô hình

Sử dụng thuật toán "tự nhiên" để so sánh hai chuỗi (phân biệt chữ hoa và chữ thường):

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

Chạy ví dụ

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

Hàm strnatcmp() 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ú:Hàm này nhạy với chữ hoa và chữ thường.

Cú pháp

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

Giá trị trả về:

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+

Thêm ví dụ

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 thông thường (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ụ