for และ foreach ใช้อันไหนดี
for และ foreach เป็นคำสั่งสำหรับวนลูป แอเรย์ทั้งคู่ ข้อแตกต่างที่สำคัญของทั้งสองฟังก์ชั่นคือ for จะวนลูปกับแอเรย์ที่มีคีย์เป็นตัวเลข และ เรียงลำดับกันเท่านั้น
จุดเด่นของ for คือ สามารถเรียงลำดับย้อนหลังได้ครับ
แต่สำหรับ foreach คีย์จะเป็นตัวเลขหรือตัวอักษรก็ได้ และ ไม่จำเป็นต้องเรียงลำดับ ซึ่ง foreach จะวนลูปตามลำดับของตำแหน่งของข้อมูล โดยให้ผลลัพท์ทั้ง key และ value ออกมาได้ด้วย
จุดเด่นของ 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