PHP/לולאות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
חורחה (שיחה | תרומות)
מ PHP:while loop הועבר לPHP/לולאות: סידור כללי של הערך
חורחה (שיחה | תרומות)
אין תקציר עריכה
שורה 1:
==לולאת while==
=== תחביר ===
לולאת while היא הלולאה הפשוטה ביותר ב PHP.
התחביר הבסיסי של לולאת while נראה כך:
<prediv alignstyle="text-align:left"; style="direction:ltr;">while (expression)
<pre>while (expression)
statement;</pre>
</div>
לשם הבהרה expression הוא ביטוי כלשהו כאשר כל עוד הוא מחזיר אמת, הלולאה תמשיך ותתבצע.
ברגע שיהפוך ה expression לביטוי שקר, תחדול הלולאה מלהתבצע.
שורה 10 ⟵ 13:
כאשר יש צורך בביצוע של מס' פקודות בכל איטרציה (חזרה) של הלולאה,
יש לתחום את הפקודות בסוגריים מסולסלים ({}) בצורה הבאה:
<prediv alignstyle="text-align:left"; style="direction:ltr;">while(expression)
<pre">while(expression)
{
statement;
שורה 18 ⟵ 22:
.
}</pre>
</div>
 
תחביר אפשרי נוסף, אם כי לרוב לא מקובל, הוא התחביר while...endwhile
אשר נכתב בצורה הבאה:
<prediv alignstyle="text-align:left"; style="direction:ltr;">while(expression):
<pre>while(expression):
statement;
.
.
endwhile;</pre>
</div>
בצורה זו, לא משנה אם מדובר בפקודה בודדת או בבלוק של פקודות בכל איטרציה של הלולאה,
אין אנו תוחמים אותן בסוגריים מסולסלים כפי שהוצג בתחביר הקודם.
 
 
=== דוגמאות קוד ===
==== דוגמא 1 ====
ביצוע פקודה בודדת בלולאה.
<prediv alignstyle="text-align:left"; style="direction:ltr;">$num = 1;
<pre>$num = 1;
while ($num < 10)
$num++;
echo $num;</pre>
</div>
'''שים לב''' כי בלולאה זו, אין תחימה של פקודה או מס' פקודות באמצעות { }, ולכן הלולאה תבצע
את הפקודה שאחריה בלבד, ואילו הפקודה, echo $num ,תתבצע רק לאחר יציאה מהלולאה.
שורה 46 ⟵ 55:
יעבור לפקודה הבאה, שהיא הדפסת הערך של num, במקרה הזה יודפס לנו 10.
 
==== דוגמא 2 ====
ביצוע מס' פקודות בלולאה.
<prediv alignstyle="text-align:left"; style="direction:ltr;">$num = 1;
<pre>$num = 1;
while ($num < 10)
{
שורה 55 ⟵ 65:
}</pre>
 
<pre align="left" style="direction:ltr">$num = 1;
while ($num < 10):
echo "$num ";
$num++;
endwhile;</pre>
</div>
שתי הלולאות הללו, הן למעשה אותה לולאה אך בתחביר שונה. שתיהן מבצעות בדיוק את אותו הדבר.
המשתנה num מקבל את הערך 1.
שורה 67 ⟵ 78:
num כבר יהיה שווה ל 10 ולא קטן ממנו. לכן גוף הלולאה לא יתבצע שוב.
הפלט שיווצר לנו בכל אחת מן הדוגמאות הנ"ל הוא:
<prediv alignstyle="text-align:left"; style="direction:ltr;">1 2 3 4 5 6 7 8 9</pre>
<pre>1 2 3 4 5 6 7 8 9</pre>
 
</div>
=== חשוב לזכור ===
בלולאת while, עקב אופן הפעילות שלה, יש לדאוג שבשלב כלשהו יקבע הביטוי הנבדק כביטוי שקר,
אחרת יווצר מצב של לולאה אינסופית.
==== דוגמא ללולאה אין סופית ====
<prediv alignstyle="text-align:left"; style="direction:ltr;">$num = 1;
<pre>$num = 1;
while ($num < 10)
{
echo $num;
}</pre>
</div>
בדוגמא זו נבדק בכל כניסה ללולאה האם num קטן מ 10, אך באף מקום בלולאה לא מוגדל ערכו של num,
אלא מודפס בלבד. מכיוון שבדרך זו ערכו של num לעולם לא ישתנה, הביטוי לנצח ישאר אותר אותו ביטוי ( 1< 10) - שזהו ביטוי אמת.