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. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
Tags |
מבוא, מדריך למתחילים, מדריך php |
|
|