การเขียน If/Else แบบสั้น

ปกติเราจะเขียน If/Else แบบนี้:

<?php
  if ($myBool == TRUE) {
    $a = 'foo';
  } else {
    $a = 'bar';
  }
?>

ถ้าเป็นแบบสั้น (เคยเห็นฝรั่งเรียกว่า แบบ Shorthand):

<?php
  $a = ($myBool == TRUE) ? 'foo' : 'bar';

  // หรือ ถ้าเขียนบรรทัดเดียวแล้วยาวเกินไป หรือไม่พอก็
  $a = ($myBool == TRUE)
     ? 'foo'
     : 'bar';
?>

ซึ่งนอกจากจะใช้ในการกำหนดค่าให้ตัวแปร เราก็สามารถประยุกต์เขียนเข้าไปประโยคได้ เช่น

<?php
  echo 'ยินดีต้อนรับ คุณ' 
       . (!empty($userFirstName) ? $userFirstName : 'ผู้ผ่านมา') . ' ค่ะ.';

  // หรือ
  echo 'Some data is: ' 
       . (($myDada == '') ? 'n/a' : $myData);
?>  

สั้นดีน้ะ ... แต่ก็ต้องพิจารณาด้วยน้ะครับ ว่าเขียนแบบไหนมันทำให้ source code ของเราเคลียร์ อ่านเข้าใจง่าย อย่าสักแต่ว่ามันทำได้ก็หลับหูหลับตาทำไป Smile