for และ foreach ใช้อันไหนดี

for และ foreach เป็นคำสั่งสำหรับวนลูป แอเรย์ทั้งคู่ ข้อแตกต่างที่สำคัญของทั้งสองฟังก์ชั่นคือ for จะวนลูปกับแอเรย์ที่มีคีย์เป็นตัวเลข และ เรียงลำดับกันเท่านั้น
$array = array('A', 'B' ,'C', 'D');
for ($ = 0; $i < sizeof($array); $i++) {
    echo $array[$i]; // A, B, C, D
}

จุดเด่นของ for คือ สามารถเรียงลำดับย้อนหลังได้ครับ
for ($ = sizeof($array) - 1; $i >= 0; $i--) {
    echo $array[$i]; // D, C, B, A
}

แต่สำหรับ foreach คีย์จะเป็นตัวเลขหรือตัวอักษรก็ได้ และ ไม่จำเป็นต้องเรียงลำดับ ซึ่ง foreach จะวนลูปตามลำดับของตำแหน่งของข้อมูล โดยให้ผลลัพท์ทั้ง key และ value ออกมาได้ด้วย
$array = array('one' => 1, 'two' => 2, 'three' => 3);
foreach($array as $key => $value) {
    echo $key.'='.$value; // one=1, two=2, three=3
}

จุดเด่นของ foreach นอกจากที่กล่าวมาแล้ว ก็จะเป็นเรื่องของความเร็ว ที่มันเร็วกว่า for
ผู้เขียน goragod โพสต์เมื่อ 02 ต.ค. 2558 เปิดดู 16,994 ป้ายกำกับ PHP
^