>> รู้หมือไร่ <<
Control Structure บางชนิดใน PHP นั้น
นอกเหนือจากการเขียนเปิดด้วย { และปิดด้วย }
ยังสามารถเปิดด้วย : (colon)
และปิดด้วย end??? (??? คือชนิด Control Structure ที่เปิด)
เช่น
while (true):
// ...
endwhile;
foreach ($arr as $k => $v):
// ...
endforeach;
if (isset($_POST['id'])):
// ...
elseif (isset($_GET['id'])):
// ...
else:
// ...
endif;
ซึ่ง Control Structure ที่สามารถเขียนแบบนี้ได้ ได้แก่
if
while
for
foreach
switch
หาก if เปิดด้วย :
elseif และ else ต้องเขียนเปิดด้วย : เช่นเดียวกัน ไม่สามารถผสมกับ { และ } ได้
if ($someVar):
// ...
else {
// แบบนี้จะ syntax error
}
รูปแบบการเขียนเช่นนี้นิยมใช้ใน template (view)
เพราะ (อาจจะ) ทำให้โค้ดอ่านได้ง่ายขึ้นเช่น
<?php if ($time === 'เช้า'): ?>
<p>
อรุณสวัสดิ์
</p>
<?php endif; ?>
แต่บางคนก็ไม่ชอบ เพราะ text editor ทั่วไป
จะไม่สามารถจับคู่และหาตำแหน่งเปิดและปิดได้เหมือนการใช้ { และ }