לולאת foreach
חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 49 מתוך 71.
כשעובדים עם מערכים, לעיתים קרובות צריך לעבור על כל איבר בזה אחר זה. אמנם אפשר להשתמש בלולאת for עם מונה אינדקס, אבל PHP מספקת פתרון נקי יותר: לולאת foreach.
לולאת foreach של PHP נועדה למעבר על מערכים. בשפות רבות יש לולאה דומה, וב-PHP היא מטפלת בספירה עבורך ומעניקה גישה ישירה לכל איבר.
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>הפלט הוא:
apple
banana
cherryהתחביר פשוט: foreach ($array as $item). בכל איטרציה, האיבר הבא מהמערך מוקצה אל $item, ואפשר להשתמש בו בגוף הלולאה.
השווה זאת להשגת אותה תוצאה באמצעות לולאת for:
<?php
$fruits = ["apple", "banana", "cherry"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>גרסת foreach קצרה יותר וקלה יותר לקריאה. אין צורך לנהל משתנה אינדקס או לדאוג לאורך המערך: PHP מטפלת בכל זה בשבילך.
אתגר
קלקראו שורת קלט אחת המכילה רשימת מספרים המופרדים בפסיקים (למשל, 10,25,5,30,15).
השתמשו בלולאת foreach כדי לעבור על המערך ולחשב את סכום כל המספרים. הדפיסו את הסכום הכולל.
דוגמה 1:
אם הקלט הוא 10,25,5,30,15, הפלט צריך להיות:
85דוגמה 2:
אם הקלט הוא 1,2,3,4,5, הפלט צריך להיות:
15דוגמה 3:
אם הקלט הוא 100,200,300, הפלט צריך להיות:
600נסו בעצמכם
<?php
// קראו את הקלט
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);
// TODO: כתבו את הקוד שלכם למטה כדי לחשב את הסכום באמצעות לולאת foreach
$sum = 0;
// הציגו את התוצאה
echo $sum;
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואהשוויון וזהותאופרטורים לוגיים — חלק 1אופרטורים לוגיים — חלק 2סיכום — לוגיקה פשוטה2משתנים וסוגי נתונים
מספריםמחרוזות ומירכאותערכים בוליאנייםכללי מתן שמותסיכום – אתחול משתניםמשתנים ריקיםשרשור מחרוזותקבלת קלט מהמשתמשהמרה לסוגים שונים3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקההשמה משולבתהגדלה והקטנהקדימות אופרטוריםסיכום — חישובים פשוטיםאופרטורים למחרוזותתרגלו בעצמכם: קומפיילר PHP אונליין