استخدم الخوارزمية "الطبيعية" لمقارنة سلسلتين (غير حساسة لحالة الأحرف):
<?phpecho strnatcasecmp("2Hello World!""،"10Hello WORLD!");echo "<br>";echo strnatcasecmp("10Hello World!"!");,?>تستخدم الدالة strnatcasecmp() خوارزمية "طبيعية" لمقارنة سلسلتين (غير حساسة لحالة الأحرف).
في الحساب الطبيعي، الرقم 2 أقل من الرقم 10. في الفرز الحاسوبي، 10 أقل من 2 لأن الرقم الأول في 10 أقل من 2.
ملاحظة: الدالة strnatcasecmp() غير حساسة لحالة الأحرف.
سترناتكاسكمب ( سلسلة 1، سلسلة 2 )
المعلمة | يصف |
---|---|
سلسلة1 | مطلوب. يحدد السلسلة الأولى للمقارنة. |
سلسلة2 | مطلوب. يحدد السلسلة الثانية المراد مقارنتها. |
قيمة الإرجاع: | ترجع الدالة: 0 - إذا كانت السلسلتين متساويتين <0 - إذا كانت السلسلة 1 أقل من السلسلة 2 >0 - إذا كانت السلسلة 1 أكبر من السلسلة 2 |
---|---|
نسخة PHP: | 4+ |
الفرق بين الخوارزمية الطبيعية (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);?>