ปัญหาของวงเล็บปีกกาในลูปของ PHP
แม้ว่าในลูปจะสามารถละเว้นวงเล็บปีกกาได้ แต่ฉันไม่แนะนำให้ทำเช่นนั้นอย่างยิ่ง เพราะโค้ดแบบนี้มักนำไปสู่ข้อผิดพลาด
มาดูตัวอย่างกัน สมมติว่าเรามีโค้ดต่อไปนี้:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // จะแสดงตัวเลขตั้งแต่ 0 ถึง 9
?>
ฉันจะแก้ไขเล็กน้อยในโค้ดด้านบน (ลองหาดูว่าอะไร) - และมันจะหยุดทำงาน:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // จะให้ค่า 10
?>
แล้วฉันแก้ไขอะไรไป?
ปัญหาเกิดขึ้นเพราะฉันใส่เครื่องหมายอัฒภาคหลังวงเล็บ ) ของ
ลูป ในกรณีนี้จะได้สิ่งที่เรียกว่า
ลูปที่ไม่มีเนื้อความ: มันจะเพียงแค่ทำงานหมุนเวียนอยู่ภายใน
และบรรทัดถัดไปจะไม่เกี่ยวข้องกับมันอีกต่อไป ดังนั้น เพื่อหลีกเลี่ยงปัญหา
ฉันแนะนำให้ใส่วงเล็บปีกกาในลูปเสมอ
บอกหน่อยว่าผลลัพธ์ของการทำงาน โค้ดต่อไปนี้จะเป็นอย่างไร:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>