לולאת For בשפת PHP

נגיד והיינו רוצים להדפיס עכשיו את כל המספרים מ 1 עד 100, איך היינו עושים את זה ?.

האם היינו כותבים 100 פעם את פקודת ה – echo שלמדנו עליה במאמר העוסק בצעדים ראשונים בשפת PHP ?, אז לא, כאן נכנסת לתמונה אופציה חדשה והיא נקראת לולאה. לולאה מאפשרת לנו לבצע קטע קוד מסויים שנקבע מספר פעמים שגם כן נקבע, במאמר זה נעסוק בלולאת For בשפת PHP שניתן לקרוא עליה גם בדוקומנטציה של PHP.

מבנה ותחביר הלולאה

<?php
	for(איתחול המשתנה; תנאי העצירה של הלולאה; קידום המשתנה לאיטרציה הבאה) {
		// קטע קוד שיתרחש בכל איטרציה של לולאה, בכל סיבוב של לולאה, בכל מקרה ...
	}
?>

אני מאמין שהתחביר לא מובן, וזה בסדר, אתם לא היחידים. כעת נראה דוגמא לשימוש שמדפיסה את המספרים מ 1 עד 100 ומיד לאחר הדוגמא נסביר מה קרה:

<?php
	for($currentNumber = 1; $currentNumber <= 100; $currentNumber++) {
		echo $currentNumber . " ";
	}
?>

אז ככה, בהתחלה אתחלנו את המשתנה currentNumber ל 1, לאחר מכן הגדרנו תנאי עצירה ללולאה ואמרנו “תרוץ עד ש currentNumber קטן או שווה ל 100”, לאחר מכן קידמנו את המשתנה באחד לסיבוב הבא. בגוף הלולאה כתבנו מה יקרה בכל סיבוב (איטרציה), למעשה בדוגמא למעלה פשוט הדפסנו את הערך של currentNumber והוספנו לו רווח בסוף בשביל המספר הבא (שלא יהיה מחובר).

בהרחבה לאלה שקצת מתקשים:

אתחול המשתנה:

$currentNumber = 1;

תנאי העצירה של הלולאה:

$currentNumber <= 100;

קידום המשתנה לאיטרציה (לסיבוב) הבא:

$currentNumber++
  • יש לשים לב שהפרדנו כל תנאי בנקודה פסיק (;).

נשים לב שנוכל לאתחל את המשתנה לכל ערך, לתת לו כל תנאי עצירה לוגי (בלבד – זה תנאי) ולקדם אותו בכמה שנרצה, אם היינו רוצים להדפיס את כל המספרים הזוגיים מ 1 עד 100, היינו מאתחלים את currentNumber ל 2 (כי 1 הוא לא זוגי, והספרה הראשונה הזוגית החל מ 1 היא 2), היינו רוצים להדפיס עד 100 לכן תנאי העצירה היה נשאר זהה וכמובן היינו רוצים לקדם ב 2 כל פעם, לכן קידום המשתנה היה ב 2:

<?php
	for($currentNumber = 2; $currentNumber <= 100; $currentNumber += 2) {
		echo $currentNumber . " ";
	}
?>

 

לולאת For מקוננת

לולאה מקוננת היא פשוט לולאה שיש בתוכה עוד לולאה, כלומר שבגוף הלולאה הראשונה יש עוד לולאה, אם לא הבנתם איך לולאת For רגילה עובדת, הלולאה המקוננת תיהיה קשה להבנה לכן אמליץ להבין איך לולאת For עובדת ולאחר מכן להמשיך.

אז הדפסנו את המספרים מ 1 עד 100 … ו ?, אני רוצה את לוח הכפל!. מה ? איך ? עכשיו הכל יהיה מובן.

על מנת להדפיס את לוח הכפל, נצטרך לולאה מקוננת, הלולאה החיצונית תדפיס לנו את השורות והלולאה הפנימית תדפיס לנו את העמודות. מיד נראה קטע קוד ולאחריו יבוא הסבר כמו תמיד:

<?php
	for($row = 1; $row <= 10; $row++) {
		for($col = 1; $col <= 10; $col++) {
			echo $row * $col . " ";
		}
		
		echo " <br />";
	}
?>

אוקי, אז קודם כל יש לנו לולאת For ראשונה שמאתחלת את המשתנה row מ 1 ועד 10 וכל פעם מגדילה אותו באחד, בתוכה יש עוד לולאת For שמאתחלת את המשתנה col מ 1 ועד 10 וכל פעם מגדילה גם אותו באחד. בכל סיבוב של הלולאה החיצונים (זאת שאיתחלה את המשתנה row) תרוץ הלולאה הפנימית (של המשתנה col) מהתחלה ועד הסוף. כלומר, עבור row = 1 יתרחש col = 1 … 10. וכשהפנימית מסתיימת אנחנו יורדים שורה באמצעות תג html. וכן הלאה ממשיכים עבור row = 2 עד 10. בכל פעם מודפס לנו מכפלת המשתנים וכך בעצם נוצר לנו לוח הכל. מוזמנים לנסות ולהריץ את זה 🙂

חשוב להבין שהמאמר הזה הוא בין אבני היסוד של כל שפת תכנות שקיימת, לאחר שאתם בטוחים שהבנתם איך הלולאה פועלת תוכלו להמשיך הלאה ללימוד לולאת While בשפת PHP 🙂