ฟังก์ชัน strnatcmp
ฟังก์ชัน strnatcmp ดำเนินการเปรียบเทียบสตริงสองสตริงโดยคำนึงถึงลำดับธรรมชาติของตัวอักขระ
ต่างจากการเปรียบเทียบทั่วไป ฟังก์ชันนี้จดจำตัวเลขภายในสตริงและเปรียบเทียบตามค่าตัวเลข
ฟังก์ชันส่งคืน 0 หากสตริงเหมือนกัน ตัวเลข -1 หากสตริงแรกน้อยกว่าสตริงที่สอง
และตัวเลขที่มากกว่า 1 หากสตริงแรกมากกว่าสตริงที่สอง
ไวยากรณ์
strnatcmp(string $str1, string $str2): int
ตัวอย่าง
การเปรียบเทียบสตริงที่มีตัวเลขด้วยวิธีปกติและด้วย strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
ผลลัพธ์จากการรันโค้ด:
strcmp result: 1
strnatcmp result: -1
ตัวอย่าง
การเปรียบเทียบสตริงที่มีตัวเลขต่างกัน:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
-1
ตัวอย่าง
การเปรียบเทียบสตริงที่เหมือนกัน:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
0
ดูเพิ่มเติม
-
ฟังก์ชัน
strcmp,
ซึ่งดำเนินการเปรียบเทียบสตริงแบบปลอดภัยไบนารี -
ฟังก์ชัน
strcasecmp,
ซึ่งเปรียบเทียบสตริงโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก -
ฟังก์ชัน
natcasesort,
ซึ่งจัดเรียงอาร์เรย์โดยใช้ลำดับธรรมชาติโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก