StepCoding

ตัวดำเนินการในการเปรียบเทียบ String

อ่าน [2483] หมวดหมู่: String

เราสามารถเปรียบเทียบ 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.
?>

ผู้สนับสนุน