فونکسیون PHP strnatcasecmp()

مثال

استفاده از الگوریتم "ناتورل" برای مقایسه دو رشته (بدون توجه به بزرگ و کوچک):

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

مثال اجرایی

تعریف و استفاده

strnatcasecmp() فونکسیون بایستی "ناتورل" الگوریتمی برای مقایسه دو رشته استفاده می‌کند.

در الگوریتم طبیعی، عدد 2 کوچکتر از عدد 10 است. در مرتب‌سازی رایانه‌ای، 10 کوچکتر از 2 است زیرا اولین عدد در 10 کوچکتر از 2 است.

نکته:strnatcasecmp() به حروف بزرگ و کوچک حساس نیست.

نحوه استفاده

strnatcasecmp(string1,string2)
پارامترها توضیح
string1 ضروری. زبان اول که باید مقایسه شود را مشخص می‌کند.
string2 ضروری. زبان دوم که باید مقایسه شود را مشخص می‌کند.

جزئیات فنی

برگشت:

این فونکشن برمی‌گرداند:

  • 0 - اگر دو زبان برابر هستند
  • <0 - اگر string1 کوچکتر از string2 است
  • >0 - اگر string1 بزرگتر از string2 است
نسخه PHP: 4+

مثال‌های بیشتر

مثال 1

اختلاف بین الگوریتم طبیعی (strnatcmp) و الگوریتم مرتب‌سازی زبان رایانه‌ای (strcmp):

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "مقایسه استاندارد زبان"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "مقایسه زبان طبیعی"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>

مثال اجرایی