A-AA+then

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

PHP

Relate

^