Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน strnatcmp() ใน PHP

คำอธิบาย

ฟังก์ชัน strnatcmp() ใช้สำหรับเปรียบเทียบสตริงสองตัวโดยใช้อัลกอริทึม "natural order" (ลำดับตามธรรมชาติ) ซึ่งแตกต่างจากการเปรียบเทียบแบบปกติที่ใช้ค่า ASCII โดยตรง ฟังก์ชันนี้จะจัดการตัวเลขในสตริงอย่างสมเหตุสมผล เช่น "2" จะน้อยกว่า "10" (ในขณะที่การเปรียบเทียบแบบ ASCII ธรรมดาจะได้ "2" มากกว่า "10" เพราะ '2' มีค่า ASCII มากกว่า '1')

รูปแบบการใช้งาน (Syntax)

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

พารามิเตอร์

  • str1 - สตริงแรกที่ต้องการเปรียบเทียบ
  • str2 - สตริงที่สองที่ต้องการเปรียบเทียบ

ค่าที่คืนกลับ (Return Value)

  • 0 - ถ้าสตริงทั้งสองเท่ากัน
  • < 0 - ถ้า str1 น้อยกว่า str2
  • > 0 - ถ้า str1 มากกว่า str2

ตัวอย่างการใช้งาน

ตัวอย่างที่ 1

<?php
echo strnatcmp("Test", "TEST");
?>

ผลลัพธ์

1

ตัวอย่างที่ 2 - การเปรียบเทียบตัวเลขในสตริง

<?php
echo strnatcmp("5Demo", "50DEMO");
echo "\n";
echo strnatcmp("50Demo", "5DEMO");
echo "\n";
echo strnatcmp("100Demo", "100Demo");
?>

ผลลัพธ์

-1
1
0