ב"ה
במדריך הקודם למדנו על מערכים.
במדריך הזה אנו נלמד על לולאות ב PHP
הבהרה: בקודים כאן לא כתבתי את הפתיח של PHP, אם אתם משתמשים בקודים המובאים כאן, ודאו שבראש הקוד שלכם מופיע הפתיח
כשנרצה להריץ קוד מספר מסוים של פעמים נעשה זאת בתוך לולאה. שני הסוגים העיקריים של לולאות הם לולאות for ולולאות while. כדי שהלולאות יפעלו צריך להגדיר להן טווח ומונה. הטווח אומר מאיזה מספר להתחיל ועד לאיזה מספר לרוץ, והמונה מוסיף מספר בכל פעם שהלולאה רצה כדי לקדם אותה.
לולאת while
נגדיר את הערך שממנו צריכה הלולאה להתחיל לרוץ. לדוגמה:
$i = 0;בנוסף, נגדיר את התנאי שבו הלולאה צריכה להפסיק לרוץ. נכניס את התנאי בין סוגריים עגולים. לדוגמה, (5 => i$), כשאת הקוד שהיא צריכה להוציא אל הפועל נמקם בין סוגריים מסולסלים. לדוגמה:
while($i <= 5) { // הקוד }ועכשיו בעברית – תריץ את הקוד שבין הסוגריים המסולסלים עד שתגיע לתנאי של $i <=5, שזה בדיוק כמו להגיד תיעצר ב-5.
המונה הוא אותו חלק בקוד שמוסיף מספר קבוע ללולאה בכל פעם שהיא רצה, וכך הלולאה מתקדמת, עד שהיא מגיעה לתנאי.
המונה הפשוט ביותר הוא המונה הבא:
$i = $i + 1;שמשמעותו תוסיף 1 למשתנה $i בכל פעם שהלולאה רצה. הקוד המלא ייראה כך:
$i = 0;// מאיזה מספר להתחיל
while($i <= 5){ $i = $i + 1; // מונה echo $i . " melon <br />"; }והתוצאה:
1 melon 2 melon 3 melon 4 melon 5 melon 6 melon
כמובן שלא חייבים להוסיף 1 בכל פעם, אפשר לעשות את אותו דבר בדילוגים של 2. כך ייראה הקוד:
$i = 0; while($i <= 5){ $i = $i + 2; echo $i . " melon <br />"; }וזו התוצאה:
2 melon 4 melon 6 melon
i = $i + 1$ או בקיצור $i++
כמעט תמיד משתמשים בדילוגים של 1. למעשה, כל כך מקובל שכותבים זאת בדרך קיצור.
לכן, במקום : $i = $i + 1
נהוג לכתוב: $i++.
נשכתב את הקוד בהתאם:
$i = 0; while($i <= 5){ $i ++; echo $i . " melon<br />"; }והתוצאה:
1 melon 2 melon 3 melon 4 melon 5 melon 6 melon
לולאה שרצה ממקסימום למינימום
עד כה ראינו לולאות שרצות ממספר נמוך למספר גבוה, אבל לעתים נזדקק ללולאות שרצות ממספר גבוה לנמוך. לדוגמה, הלולאה הבאה שרצה מ-5 ל-0. שימו לב שהמונה מפחית 1 בכל פעם שהלולאה רצה.
$i = 5; while($i > 0){ $i = $i -1; echo $i . " melon<br />"; }והתוצאה בהתאם:
5 melon 4 melon 3 melon 2 melon 1 melon 0 melon
וגם ל: $i = $i -1 יש קיצור מקובל שהוא: $i--
נשכתב את הקוד עם $i--:
$i = 5; while($i > 0){ $i--; echo $i . " melon<br />"; }והתוצאה היא כפי שראינו מקודם.
לולאת for
לולאת for היא בעלת מבנה קומפקטי יותר מפני שהמספר ממנו מתחילים, התנאי והמונה נמצאים כולם בתוך סוגריים עגולים. זה התחביר:
for (מונה ;תנאי ;התחלה){ // הקוד כאן }לדוגמה, הקוד הבא שרץ מ$i =0 ל $i = 5 בהפרשים של 1.
for ($i = 0; $i <=5 ; $i++){ echo $i . " melon<br />"; }והתוצאה:
0 melon 1 melon 2 melon 3 melon 4 melon 5 melon
גם את לולאת for ניתן להריץ מהערך הגבוה לנמוך, לדוגמה:
for ($i = 5; $i >=0 ; $i--){ echo $i . " melon<br />"; }למה צריך שני סוגי לולאות?
לולאות for ו-while דומות מאוד, וזה אכן המצב ברוב המקרים. אבל ללולאת while יש יכולת נוספת, שלא קיימת ב-for, שהיא היכולת לרוץ גם בלי שמגדירים מראש את מספר הפעמים שהיא צריכה לרוץ. יכולת זו מתגלה כשימושית, כשרוצים, לדוגמה, לשלוף נתונים ממסד הנתונים, ואז לולאת while רצה כל עוד מסד הנתונים מזין אותה ברשומות (בלי צורך לדעת מראש את מספר הרשומות שמוחזרות ממסד הנתונים).
בנושא של מסד הנתונים נדון בהרחבה בפוסטים הבאים.
עד כאן שיעור מספר 3
אשמח אם לא יגיבו, - במידה ויש שאלות, אז תפתחו נושא חדש שבו יתרכזו כל השאלות והתגובות, כי אני אשמח כשיהיה אפשר לכתוב במדריכים אז הנושא יועבר לשם