for และ foreach ทั้ง 2 คำสั่ง เป็นคำสั่งสำหรับวนลูป Array แต่ว่ามีข้อแตกต่างของทั้งสอง function คือ for จะวนลูปกับ Array ที่มี key เป็นตัวเลข และ เรียงลำดับกันเท่านั้น เช่น 0,1,2,3,4 ... แต่หาว่า Key Array นั้น เป็น 0,2,4,1,3 ... แบบนี้จะเหมาะกับการใช้ foreach สำหรับวนลูปมากกว่า
ตัวอย่างการใช้งาน php for
แบบที่ 1 เรียงจาก Key น้อยไปมาก
PHP CODE
$array = ['A', 'B' ,'C', 'D'];
for ($ = 0; $i < count($array); $i++) {
echo $array[$i].'<br>';
}
ผลลัพธ์
A
B
C
D
$array = ['A', 'B' ,'C', 'D'];
for ($ = 0; $i < count($array); $i++) {
echo $array[$i].'<br>';
}
ผลลัพธ์
A
B
C
D
แบบที่ 2 เรียงจากค่า Key มากไปน้อย
PHP CODE
$array = ['A', 'B' ,'C', 'D'];
for ($i = count($array)-1; $i >= 0; $i--) {
echo $array[$i].'<br>';
}
ผลลัพธ์
D
C
B
A
$array = ['A', 'B' ,'C', 'D'];
for ($i = count($array)-1; $i >= 0; $i--) {
echo $array[$i].'<br>';
}
ผลลัพธ์
D
C
B
A
Quote: ถึงแม้จะไม่เห็น key ใน Array แต่รูปแบบ Array แบบนี้จะมี Key เป็นตัวเลขระบุไว้อยู่ ดังนี้
['0'=>'A','1'=>'B','2'=>'C','3'=>'D']
ตัวอย่างการใช้งาน php foreach
foreach เหมาะกับการวนลูป Array แบบที่มี Key ทั้งเป็นแบบตัวเลขและตัวอักษร ซึ่ง foreach จะวนลูปตามลำดับของ Key ของข้อมูล โดยมีรูปแบบการใช้งานอยู่ 2 แบบ
แบบที่ 1 foreach โดยให้ผลลัพท์ทั้ง key และ value ออกมา
PHP CODE
$array = ['one'=>'A', 'two'=>'B', three'=>'C', 'four'=>'D'];
foreach($array as $key => $value) {
echo 'Key '.$key.' = Value '.$value.'<br>';
}
ผลลัพธ์
Key one = Value A
Key two = Value B
Key three = Value C
Key four = Value D
$array = ['one'=>'A', 'two'=>'B', three'=>'C', 'four'=>'D'];
foreach($array as $key => $value) {
echo 'Key '.$key.' = Value '.$value.'<br>';
}
ผลลัพธ์
Key one = Value A
Key two = Value B
Key three = Value C
Key four = Value D
แบบที่ 2 foreach โดยให้ผลลัพท์เฉพาะ value ออกมา
PHP CODE
$array = ['one'=>'A', 'two'=>'B', three'=>'C', 'four'=>'D'];
foreach($array as $value) {
echo ' Value '.$value.'<br>';
}
ผลลัพธ์
Value A
Value B
Value C
Value D
$array = ['one'=>'A', 'two'=>'B', three'=>'C', 'four'=>'D'];
foreach($array as $value) {
echo ' Value '.$value.'<br>';
}
ผลลัพธ์
Value A
Value B
Value C
Value D
Quote: foreach จะเหมาะกับการใช้งานในการเขียนโปรแกรมจริง มากกว่า for เนื่องจากมีความเร็วในการประมวลผลที่ดีกว่า อีกทั้งยังสามารถนำไปประยุกต์ใช้งานได้หลากหลายมากกว่า โดยหลัก ๆ ที่จะใช้งานกันบ่อย ๆ คือ การนำไปวนลูปข้อมูลที่ได้จากฐานข้อมูล