For Loop ใน PHP

ไอที | PHP | 9554 |

การใช้ For Loop ใน PHP

การใช้งาน for loop ใน PHP ก็เหมือนกับการใช้งาน for loop ใน Java นั่นคือ การวนลูปแบบรู้จำนวนที่แน่นอนของการวน และมีข้อดีตรงที่ มี index ในการวนด้วย

ซึ่ง Flowchart ก็ดูได้ตามรูปด้านล่างครับ



ดู Flowchart ไปแล้ว มาดู Syntax กันครับ ตามด้านล่างเลย
for(init-stmt; condition; next-stmt)
{
	body code
}
จาก Syntax ข้างบน เรามีส่วนประกอบที่สำคัญอยู่ 3 ส่วน นั่นคือ
- init-stmt คือคำสั่งแรกที่จะทำก่อนที่จะเริ่มต้น loop เปรียบเทียบกับ flowchart ข้างบนก็คือช่องสี่เหลี่ยม INITIALIZATION นั่นเอง ค่านี้มักจะใช้เป็นค่าในการกำหนดตัวแปรเริ่มต้น
- condition คือนิพจน์เงื่อนไขที่จะต้องทดสอบทุก ๆ ครั้ง ก่อนจะทำในลูป หรือออกจากลูป นิพจน์นี้จะคืนค่าจริงหรือเท็ยเท่านั้น ถ้าเป็นจริงก็จะทำในลป ถ้าเป็นเท็จก็จะออกจากลูป
- next-stmt คือคำสั่งที่ใช้ในการเพิ่มหรือลดค่าในแต่ละลูป

ต่อไปมาดูตัวอย่างกันครับ

ตัวอย่างแรก

for($i = 1; $i <= 10; $i++){
	echo $i." ";
}
Output ที่ได้ คือ 1 2 3 4 5 6 7 8 9 10
ตัวอย่างนี้ จะวนลูปตั้งแต่ i = 1 ถึง i = 10 โดย i จะเพิ่มขึ้นทีละ 1

ตัวอย่างที่ 2

for($i = 10; $i >= 1; $i--){
	echo $i." ";
}
Output ที่ได้ คือ 10 9 8 7 6 5 4 3 2 1
ตัวอย่างนี้ จะวนลูปตั้งแต่ i = 10 ถึง i = 1 โดย i จะลดลงทีละ 1

ตัวอย่างที่ 3

for($i = 1; $i <= 10; $i = $i*2){
	echo $i." ";
}
Output ที่ได้ คือ 1 2 4 8
ตัวอย่างนี้ จะวนลูปตั้งแต่ i = 1 ซึ่ง i ต้องน้อยกว่าหรือเท่ากับ 10 โดย i จะคูณ 2 ขึ้นเรื่อย ๆ

ตัวอย่างที่ 4

for($i = 2; $i <= 3; $i++){
	for($j = 1; $j <=12; $j++){
		echo $i."x".$j." = ".$i*$j."
"; } }
Output ที่ได้ คือ
2x1 = 2
2x2 = 4
2x3 = 6
2x4 = 8
2x5 = 10
2x6 = 12
2x7 = 14
2x8 = 16
2x9 = 18
2x10 = 20
2x11 = 22
2x12 = 24
3x1 = 3
3x2 = 6
3x3 = 9
3x4 = 12
3x5 = 15
3x6 = 18
3x7 = 21
3x8 = 24
3x9 = 27
3x10 = 30
3x11 = 33
3x12 = 36
ตัวอย่างนี้ จะวนลูป 2 ชั้น ชั้นแรกวน 2 กับ 3 ซึ่งแต่ละรอบก็จะวนอีก 12 รอบ

ตัวอย่างที่ 5

$name = array("John", "Son", "Ton", "But", "Kon", "Mon");
for($i = 0; $i < count($name); $i++){
	echo "Name : ".$name[$i]."
"; }
Output ที่ได้ คือ
Name : John
Name : Son
Name : Ton
Name : But
Name : Kon
Name : Mon
ตัวอย่างนี้ จะวนลูปตามจำนวนข้อมูลของอาร์เรย์
awesome comments