เราสามารถเปรียบเทียบ string ที่มีค่าเท่ากันโดยใช้ตัวดำเนินการ == และ === ซึ่งข้อแตกต่างระหว่าง 2 ตัวนี้คือ ถ้าเป็นตัวดำเนินการ == มันจะทำการตรวจสอบค่าของ string สองตัวนั้นว่ามีค่าเท่ากันหรือไม่ โดยไม่สนใจชนิดข้อมูล แต่ถ้าเป็นตัวดำเนินการ === มันจะทำการตรวจสอบทั้งค่าของ string และชนิดข้อมูลของตัวแปรทั้งสองตัวนั้นว่าเหมือนกันหรือไม่
<?php
$num = 3;
$str1 = "3";
if ($num == $str1) {
echo "== return true<br />";
}
if ($num === $str1) {
echo "=== return true<br />";
}
// == return true
?>
จะเห็นว่าผลลัพธ์ที่ได้คือถ้าใช้ตัวดำเนินการ == มันจะตรวจสอบว่ามีค่าเท่ากัน แต่ถ้าใช้ตัวดำเนินการ === มันจะตรวจสอบว่ามีค่าไม่เท่ากัน เนื่องจากตัวแปรทั้งสองตัวนั้นมีชนิดข้อมูล (data type) ที่ต่างกัน $num มีชนิดเป็น integer ส่วน $str1 มีชนิดเป็น string นั่นเอง
ตัวดำเนินการในการเปรียบเทียบอื่น ๆ เช่น <, <=, >, >= ก็สามารถใช้ตรวจสอบ string ได้เช่นกัน
<?php
$him = "Bar";
$her = "Foo";
if ($him < $her) {
print "$him come before $her in the alphabet.\n";
}
// Bar comes before Foo in the alphabet.
?>
ผู้สนับสนุน