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

ความแตกต่างระหว่างตัวดำเนินการ 'AND' และ '&&' ใน PHP

ความแตกต่างหลักระหว่างตัวดำเนินการ AND กับ && อยู่ที่ลำดับความสำคัญ (Precedence) เมื่อเปรียบเทียบกับตัวดำเนินการกำหนดค่า = ตัวดำเนินการ AND มีลำดับความสำคัญต่ำกว่า = ทำให้ผลลัพธ์แตกต่างกันแม้ทั้งคู่จะทำหน้าที่ตรรกะเดียวกัน

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

<?php 
   $val1 = 55; 
   $val2 = 65; 
   if ($val1 == 55 and $val2 == 65) 
      echo "Result = True"; 
   else 
      echo "Result = False"; 
?>

ผลลัพธ์

Result = True

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

<?php 
   $val1 = 110; 
   $val2 = 110; 
   if ($val1 == 110 && $val2 == 110) 
      echo "Result = True"; 
   else 
      echo "Result = False"; 
?>

ผลลัพธ์

Result = True

ตัวอย่างเปรียบเทียบความแตกต่างในกรณีเดียว

<?php 
   $bool = TRUE and FALSE; 
   echo ($bool ? 'true' : 'false'), "\n"; 
   $bool = TRUE && FALSE; 
   echo ($bool ? 'true' : 'false'); 
?>

ผลลัพธ์

true false

คำอธิบาย: ในกรณีแรก $bool = TRUE and FALSE จะถูกประมวลผลเป็น ($bool = TRUE) and FALSE เนื่องจาก AND มี precedence ต่ำกว่า = ทำให้ $bool ได้ค่า TRUE ส่วนกรณีที่สอง $bool = TRUE && FALSE จะประมวลผลเป็น $bool = (TRUE && FALSE) เนื่องจาก && มี precedence สูงกว่า ทำให้ $bool ได้ค่า FALSE