84   Control Structure บางชนิดใน PHP เปิดด้วย : (colon) และปิดด้วย end

>> รู้หมือไร่ <<
 
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 ทั่วไป
จะไม่สามารถจับคู่และหาตำแหน่งเปิดและปิดได้เหมือนการใช้ { และ }
 
Back to Top