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

נוספו 26 בתים ,  לפני 4 חודשים
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
 
==לולאת For==
 
לולאות FOR הן דוגמא פשוטה מאוד ללולאות בתכנות. הלולאה הזאת פועלת בצורה כמעט זהה לזאת של לולאת הWHILEה-WHILE, ניתן להגיד שהיא מקרה ייחודי של לולאה הרצה כמות קבועה של פעמים, מעט יותר מהר מWHILEמ-WHILE.
 
===תחביר===
</pre>
</div>
ניתן לראות את החוקים הבסיסיים של PHP נוכחים בקלות. תחילה אנו קוראים ללולאת הFORה-FOR, ובתוך הסוגריים שלה אנו מגדירים את המשתנה הראשוני. $i הוא שם נפוץ, אבל ניתן להשתמש בכל שם משתנה רצוי. אנו מגדירים ש-$i, בתחילת הלולאה, שווה ל1ל-1. אנו מסיימים את החלק הראשון בנקודה-פסיק. בחלק השני אנו מגדירים את תנאי ההמשכיות - על הלולאה להמשך כל עוד $i קטן או שווה ל3ל-3, נקודה-פסיק. ולבסוף פעולת ההרצה. ++i$ מסמל עלייה במספר אחד (או באות אחת, אם $i הוא ערך מחרוזת). הפונקציה שבתוך לולאת הforה-for תורץ תחילה כאשר $i שווה לאחד, וכאשר הפונקציה תסתיים, $i יעלה במספר אחד, ויהפוך לשתיים. הפונקציה תורץ שוב. $i יהפוך לשלוש - הוא עדיין בתוך תנאי ההמשכיות של הלולאה. הפונקציה תורץ פעם שלישית, ו-$i יוגדר כ4כ-4. כעת הוא לא בתוך תנאי ההמשכיות של הלולאה, ולכן הלולאה תפסק.
ניקח לדוגמא את הלולאה הבאה:
 
 
===לולאות FOR פחות נפוצות===
בדוגמא הקודמת הוצגה לולאת FOR בצורה הכי נפוצה שלה - ספירה והרצה של קטע קוד כלשהוא מספר פעמים. זאת היעילות העיקרית של לולאות FOR. אבל לעיתים משתמשים בלולאות הFORה-FOR בדרכים שונות, יותר מסובכות. לדוגמא, ישנם הלולאות שמשתמשות באותיות להרצה:
 
<div style="text-align:left; direction:ltr;">
 
===החסרת פעולות הלולאה ודמיון עם WHILE===
יש להעיר שלולאת הFORה-FOR אינה צריכה את שלושת הקטעים שלה כדי לפעול. לעיתים, כאשר המשתנה כבר הוגדר מראש, אין צורך להכניס אותו לתוך הלולאה; או, לחלופין, ייתכן ופעולת ההרצה כבר נמצאת בתוך קטע הקוד של ההרצה, ולכן לא צריך פעולת הרצה בלולאה עצמה. ניתן אפילו לעצור את הלולאה בעזרת תנאי פנימי בעזרת מילת הפקודה break.
הנה הלולאה שבה השתמשנו כדוגמא בתחילת ההסבר:
<div style="text-align:left; direction:ltr;">
</pre>
</div>
שימו לב למיקומי הנקודה-פסיק. צריך לשמור אותם כדי שPHPש-PHP יוכל לזהות את הקטעים הנכונים כראוי.
לבסוף, יש לזכור שהלולאה הזאת זהה אל לולאת הWHILEה-WHILE הבאה:
 
<div style="text-align:left; direction:ltr;">
</div>
 
אם כי לולאת הFORה-FOR המתאימה מהירה יותר במקצת.
ולבסוף, ניתן גם להשתמש בלולאה הבאה, שבה לולאת הFORה-FOR כמעט ריקה:
 
<div style="text-align:left; direction:ltr;">
 
===שימושים ללולאת FOR===
היתרון היחיד של לולאת הFORה-FOR על לולאת הWHILEה-WHILE הוא שלולאת הFORה-FOR מהירה במקצת מלולאת הWHILEה-WHILE. תמיד כאשר אפשר, עדיף להשתמש בFORב-FOR, אבל לעיתים זה כולל סיבוך מיותר של הקוד, ולכן עדיף השימוש בלולאת הWHILEה-WHILE.
בלולאת הFORה-FOR עדיף להשתמש כאשר אתה רוצה להריץ פונקציה מספר קבוע של פעמים. למשל, אם אתה רוצה לכתוב את אותה שורת הטקסט מאה פעמים, תוכל להשתמש בלולאת הFORה-FOR, כאשר תנאי ההמשכיות שלה הוא שiש-i$ קטן או שווה למאה. לחלופין, אם אתה רוצה להריץ שורת קוד מסויימת כמות בלתי ידועה של פעמים, כמות אשר שמורה בתוך משתנה שנשלף ממסד הנתונים או שהוזן על ידי מבקר, תוכל להגדיר את כמות ההרצות הרצויות בתור x$, ואז להשתמש בלולאה הרגילה, כאשר אתה מחליף את המספר במשתנה:
 
<div style="text-align:left; direction:ltr;">
</pre>
</div>
או בקוד הזהה בפעילותו (מלבד הערכים המדוייקים הנשמרים בiב-i$):
 
<div style="text-align:left; direction:ltr;">
</pre>
</div>
מעבר לכך, רק ההכרות שלכם עם המצב תראה מתי השימוש בלולאת הFORה-FOR יותר יעילה.
 
==לולאת Foreach==
47

עריכות