נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

לחיצה חוזרת ונשנית על המקש Tab תעביר אתכם בין הקישורים והאזורים השונים בעמוד.

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

לולאת for ולולאת while

מחבר:
בתאריך:

 

כשנרצה להריץ קוד מספר מסוים של פעמים נעשה זאת בתוך לולאה. שני הסוגים העיקריים של לולאות הם לולאות 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 רצה כל עוד מסד הנתונים מזין אותה ברשומות (בלי צורך לדעת מראש את מספר הרשומות שמוחזרות ממסד הנתונים). בנושא של מסד הנתונים נדון בהרחבה בפרקים שמוקדשים לכך במדריך ה-PHP.

במדריך הבא נציג לולאה שמטפלת במערכים.

לכל מדריכי ה-PHP

 

 

הוסף תגובה חדשה

 

= 6 + 4