Ternary Operator เขียนเมื่อ 2009.06.30 โดย

มาว่ากันด้วย Ternary Operator เป็น Operator ที่สำคัญแต่หลายคนไม่รู้จักและไม่นิยมใช้

Ternary Operator เป็น Operator ที่ใช้ในการตัดสินใจ (Conditional Operator) (แต่ใน php.net จัด Ternary Operator อยู่ในกลุ่ม Comparison Operator) ซึ่งทำหน้าที่เหมือน if...else... แต่ช่วยประหยัดโค๊ดไดมากกว่ามาก
(expr1) ? (expr2) : (expr3)
การใช้งานจะมี expression 3 ค่าด้วยกันโดยการทำงานจะตรวจสอบค่าใน expre1 ว่ามีค่าเป็นจริง (true) หรือไม่ ถ้าใช่จะกระทำตาม expr2 หากเป็น false จะกระทำตาม expr3 จะเห็นว่าเหมือนกับ if...else... มาก

แล้วช่วยประหยัดโค๊ดได้อย่างไร ขอยกตัวอย่างที่ผมใช้งาน Ternary Operator บ่อยที่สุดให้ดูแล้วกัน
<?
while($i < 10){
$color = "";
if($i%2){
$color = "#FFFFFF";
}else{
$color = "#AAFFAA";
}
echo "<tr style=\"background-color: ".$color.";\"><td>...</td></tr>";
$i++;
}
?>

ข้างบนเป็น code ที่ใช้ในการสร้าง row ของตารางสลับสีที่สั้นที่สุดที่ใช้ if...else... ทีนี้ลองมาดูในกรณีที่เราใช้ Ternary Operator กัน
<?
while($i < 10){
echo "<tr style=\"".(($i%2)?"#FFFFFF":"#AAFFAA").";\"><td>...</td></tr>";
$i++;
}
?>




คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย