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

תוכן שנמחק תוכן שנוסף
עוז (שיחה | תרומות)
שמזן (שיחה | תרומות)
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
שורה 4:
==לולאת While==
=== תחביר ===
לולאת while היא הלולאה הפשוטה ביותר ב -PHP.
התחביר הבסיסי של לולאת while נראה כך:
<div style="text-align:left; direction:ltr;">
שורה 10:
statement;</pre>
</div>
לשם הבהרה "expression" הוא ביטוי כלשהו כאשר כל עוד הוא מחזיר אמת, הלולאה תמשיך ותתבצע.
ברגע שיהפוך ה -expression לביטוי שקר, תחדול הלולאה מלהתבצע.
התחביר הנ"ל, נכון כאשר הלולאה מבצעת פקודה אחת בלבד.
 
כאשר יש צורך בביצוע של מס'מספר פקודות בכל איטרציה (חזרה) של הלולאה,
יש לתחום את הפקודות בסוגריים מסולסלים ({}) בצורה הבאה:
<div style="text-align:left; direction:ltr;">
שורה 51:
</div>
'''שים לב''' כי בלולאה זו, אין תחימה של פקודה או מס' פקודות באמצעות { }, ולכן הלולאה תבצע
את הפקודה שאחריה בלבד, ואילו הפקודה, echo $num ,תתבצע רק לאחר יציאה מהלולאה.
 
דוגמא זו די פשוטה, יש לנו משתנה בשם num ובו הערך 1.
בעת כניסה ללולאה נבדק האם num קטן מ -10 במידה וכן, בתוך הלולאה תתבצע הגדלתו של num ב -1.
הלולאה תתבצע 9 פעמים, כאשר בפעם התשיעית, יוגדל ערכו של num ל -10, ושוב יבדקייבדק הביטוי:
"האם num קטן מ -10?", ומכיוון ש -10 אינו קטן מ -10, הלולאה לא תתבצע שוב, והמפענח (interpreter),
יעבור לפקודה הבאה, שהיא הדפסת הערך של num, במקרה הזה יודפס לנו 10.
 
שורה 77:
שתי הלולאות הללו, הן למעשה אותה לולאה אך בתחביר שונה. שתיהן מבצעות בדיוק את אותו הדבר.
המשתנה num מקבל את הערך 1.
בפעם הראשונה נבדק האם num<10 (האם 1 קטן מ -10), ומכיוון שזהו ביטוי אמת,
אנו נכנסים ללולאה בפעם הראשונה, מדפיסים את num ומגדילים את ערכו ב -1, וחוזר חלילה.
בפעם התשיעית מודפסת הספרה 9, וערכו של num גדל ל -10, כך שבפעם הבאה שתתבצע הבדיקה,
num כבר יהיה שווה ל -10 ולא קטן ממנו. לכן גוף הלולאה לא יתבצע שוב.
הפלט שיווצר לנו בכל אחת מן הדוגמאות הנ"ל הוא:
<div style="text-align:left; direction:ltr;">
שורה 98:
}</pre>
</div>
בדוגמא זו נבדק בכל כניסה ללולאה האם num קטן מ -10, אך באף מקום בלולאה לא מוגדל ערכו של num,
אלא מודפס בלבד. מכיוון שבדרך זו ערכו של num לעולם לא ישתנה, הביטוי לנצח ישאר אותר אותו ביטוי ( 1< 10) - שזהו ביטוי אמת.
לכן הלולאה תמשיך להתבצע שוב ושוב ושוב עד שבמוקדם או במאוחר השרת יעצור את ביצוע התסריט מכיוון
שעבר הזמן המירבי שהוגדר לביצוע תסריט של עמוד כלשהו, ותודפס הודעת שגיאה.