ฟังก์ชัน strnatcmp

ฟังก์ชัน strnatcmp ดำเนินการเปรียบเทียบสตริงสองสตริงโดยคำนึงถึงลำดับธรรมชาติของตัวอักขระ ต่างจากการเปรียบเทียบทั่วไป ฟังก์ชันนี้จดจำตัวเลขภายในสตริงและเปรียบเทียบตามค่าตัวเลข ฟังก์ชันส่งคืน 0 หากสตริงเหมือนกัน ตัวเลข -1 หากสตริงแรกน้อยกว่าสตริงที่สอง และตัวเลขที่มากกว่า 1 หากสตริงแรกมากกว่าสตริงที่สอง

ไวยากรณ์

phpstrnatcmp(string $str1, string $str2): int

ตัวอย่าง

การเปรียบเทียบสตริงที่มีตัวเลขด้วยวิธีปกติและด้วย strnatcmp:

php<?php
  $res1 = strcmp("file2.txt", "file10.txt");
  $res2 = strnatcmp("file2.txt", "file10.txt");
  
  echo "strcmp result: " . $res1 . "\n";
  echo "strnatcmp result: " . $res2;
?>

ผลลัพธ์จากการรันโค้ด:

phpstrcmp result: 1
strnatcmp result: -1

ตัวอย่าง

การเปรียบเทียบสตริงที่มีตัวเลขต่างกัน:

php<?php
  $res = strnatcmp("image5.jpg", "image15.jpg");
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php-1

ตัวอย่าง

การเปรียบเทียบสตริงที่เหมือนกัน:

php<?php
  $res = strnatcmp("hello123", "hello123");
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php0

ดูเพิ่มเติม

  • ฟังก์ชัน strcmp,
    ซึ่งดำเนินการเปรียบเทียบสตริงแบบปลอดภัยไบนารี
  • ฟังก์ชัน strcasecmp,
    ซึ่งเปรียบเทียบสตริงโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก
  • ฟังก์ชัน natcasesort,
    ซึ่งจัดเรียงอาร์เรย์โดยใช้ลำดับธรรมชาติโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก