23-01-07, 13:36 | # 1 |
חבר בקהילה
|
[מדריך] PHP - לולאות
לולאות אוקיי ראיתי שלולאות זה נושא לא מובן להרבה מתכנתים מתחילים, זה סביר, גם אני לא הבנתי מה זה בדיוק, אך כאשר מגילים את הסוד, זה שימושי מאוד! אז מה זה בעצם לולאה? לולאה, זה קודם המתבצע כמה פעמים, לפי קביעה מסוימת שלנו, או לפי תנאי. לשם מה צריך לולאות? אוקיי, הרבה פונים אלי באייסי שלא יודעים איך לעשות נתונים בשליפה אחת מהמסד, במקום לשלוף מהמסד נתונים אחדים אחדים, עושים לולאה אחת, וזה מבצע כבר את כל הפעולה! כן מה ששמעתם! אם יש לכם 100 רשומות במסד? תשלפו הכל אחד אחד? עושים לולאה של 3 שורות, ויש לכם שליפה של כל 100 הרשומות! אז נתחיל? איזה סוגי לולאות קיימות? בPHP, קיימות 4 סוגי לולאות, for, while, do while, foreach. כולם עושים את אותה הפעולה, אך בדרכים שונות. מתחיל מהלולאה הפשוטה ביותר, For לולאת הFor היא לולאה פשוטה המובנת מ-3 מרכיבים, משתנה, תנאי, ומקדם. הכוונה היא שאנו קובעים משתנה מסוים, לו יש תנאי, ואז מגיע המקדם שלו, לאחר מכן פשוט עושים הדפסה. הלולאה נראת ונכתבת כך: קוד:
for(מקדם;תנאי;משתנה) { הדפסה } נעשה זאת הקביעה של המשתנה (מאיזה מספר להתחיל את הספירה), התנאי (האם 1 יותר גדול / שווה ל79), והמקדם (ימשיך את הלולאה), לאחר מכן עושים הדפסה והופ, יש לנו ספירה מדהימה! להלן הדוגמא: קוד:
for($num=1;$num<=79;$num++) { echo "$num,"; } אז הבנתם מה זה לולאה? קדימה, תכירו עוד סוגי לולאות. לולאת While עברנו ללולאה הבאה בשם While, בעצם גם היא כוללת 3 מרכיבים, משתנה, תנאי ומקדם. אם התנאי הוא אמת, בתוך הלולאה יש הדפסה, ומתחתיה מקדם. הלולאה נכתבת כך: קוד:
$num = 1; while($num <= 210) { echo "$num,"; $num++; } תדפיס את כל המספרים ללא יוצא מן הכלל, מ-1 ועד 210. לולאת Do While לולאת הDo While מאוד דומה ללולאת הWhile שלמדנו מקודם, רק שהיא שונה בדבר אחד, הלולאה הזו, קודם מבצעת את הפעולה, ורק אז בודקת את התנאי. הלולאה נכתבת כך: קוד:
$num = 1; do { echo "$num,"; } while (++$num=<210) לולאת Foreach לולאת הForeach, דומה לחברותיה, אך היא בעצם יותר מיועדת למערכים. הללואה בעצם עוברת על כל אברי המערך, ובעצם מדפיסה את כל אברי המערך. היא נעצרת כאשר מגיעה לסוף המערך. הקוד נכתב להלן: קוד:
$names = array(); $names = "nitay"; $names = "dor"; $names = "idan"; foreach ($names as $while) { echo "$while,"; } הלולאה תדפיס את כל הערכים של המערך $names. ולמי ששואל, למה צריך as $while, זאת שאלה טובה, PHP רוצה לא ליצור תסבוכות, ולכן הוא שומר את כל המערך, במשתנה חדש. (זאת לפחות, הסיבה ההגיונית ביותר שחשבתי עליה). ונגיד אנו רוצים לשלוף את כל הרשומות מהמסד, באיזה לולאה הכי טוב להשתמש? ת'אמת כולם טובות, אבל הייתי ממליץ להשתמש בWhile. הכי פשוט לעשות את זה דרכה. דוגמא לשליפה עם While: קוד:
$select = mysql_query("SELECT * FROM subject ORDER BY id"); while($row = mysql_fetch_array($select)) { $id = $row['id']; $subject = $row['subject']; echo<<<END <a href="index.php?p=$id">$subject</a> END; } תהינו מהמדריך הקיים, ואל תשכחו! כל הזכויות שמורות 2007. |
23-01-07, 15:22 | # 2 |
חבר וותיק
|
תודה
__________________
|
23-01-07, 15:22 | # 3 |
תודה על תרומתך!
|
נחמד מאוד..
רק כמה תיקונים: 1. לפי דעתי לולאת while הרבה יותר פשוטה מלולאת for (לולאת for זה שדרוג של while) 2. לגבי לולאת do...while רק אחדד את מה שאמרת והוסיף שהיא תמיד תיכנס בפעם הראשונה ובפעמים לאחר מכן זה תלוי בתנאי אם הוא קיים, כלומר התנאי לא משמש האם להיכנס ללואה כמו לולאת while אלא משמש האם לחזור חזרה על הפעולה. 3. אני רק הוסיף ללולאת foreach שיש את הדוגמא: PHP קוד:
|
23-01-07, 21:58 | # 4 |
מ.תיכנות
|
תגיד, בכלל בדקת אם נכתב על זה משהו? כי יש פה מדריך שנכתב על ידי BBMAN ולא רק זה אלא שהמדריך שלו מפורט יותר.
|
24-01-07, 13:37 | # 5 |
חבר בקהילה
|
כתבתי את המדריך לפורום אחר, והחלטתי לפרסם גם פה?
כאילו זה אמור להפריע שאני מפרסם מדריכים החוזרים על עצמם? יש הרבה כאלה. |
24-01-07, 21:11 | # 6 |
מ.תיכנות
|
חח אני לא מבין אותך.. יש כבר מדריך, למה לעזעזל לפרסם? כדי שתראה את הרמה שלך פה? מילא בפורום אחר, אבל באותו פורום?
|
24-01-07, 21:45 | # 7 |
אין כמו ב127.0.0.1
|
אולי די?
זה ממש לא יפה הבן אדם השקיע וכתב מדריך אם אתם לא רוצים לומר תודה אל תדברו. אבל לנזוף בו? באמת מגעיל מצידו להכין מדריך ולפרסם פה. תודה רבה על המדריך, ידוע לי, אבל בכל זאת תודה על ההשקעה. |
24-01-07, 21:50 | # 8 |
משתמש - היכל התהילה
|
כאשר אתה מגדיר מערך, אתה מגדיר אותו כך -
PHP קוד:
PHP קוד:
|
25-01-07, 23:13 | # 9 |
חבר בקהילה
|
אני זוכר שבהתחלה שלמדתי הסתבחתי קצת עם לולאות.. אבל עכשיו שאני חושב על זה..
זה ממש קל סתם כולם מסתבכים עם זה בהתחלה.. כל הכבוד על כתיבת המדריך.. |
26-01-07, 11:13 | # 10 |
חבר בקהילה
|
למיטב ידיעתי, אין בעיה בקוד
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח) |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
Tags |
מבוא, מדריך למתחילים, מדריך php |
כלים לאשכול | |
תצורת הצגה | |
|
|