Menu
Coddy logo textTech

שינוי איברים לפי אינדקס

חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 37 מתוך 71.

למדת איך לגשת לאיברים במערך לפי האינדקס שלהם. עכשיו נראה איך לשנות את האיברים האלה. שינוי איבר במערך משתמש באותה תחביר של סוגריים מרובעים, אבל עם השמה.

<?php
$fruits = ["Apple", "Banana", "Cherry"];

$fruits[1] = "Blueberry";

echo $fruits[1]; // Blueberry
?>

כאן החלפנו את "Banana" באינדקס 1 ב-"Blueberry". הערך המקורי נעלם: מערכים אינם שומרים היסטוריה של שינויים.

אפשר לשנות כל איבר כל עוד ידוע לך האינדקס שלו:

<?php
$scores = [85, 90, 78];

$scores[0] = 95;  // עדכן את הציון הראשון
$scores[2] = 82;  // עדכן את הציון האחרון

echo $scores[0]; // 95
echo $scores[2]; // 82
?>

זה שימושי כשצריך לעדכן נתונים ברשימה שלך, למשל לתקן שגיאת כתיב, לעדכן מחיר או לשנות את הסטטוס של משתמש. האינדקס מציין ל-PHP בדיוק איזה רכיב להחליף, תוך השארת כל שאר הרכיבים ללא שינוי.

challenge icon

אתגר

קל

קרא שורת קלט המכילה ערכים המופרדים בפסיקים ומייצגים רשימה של צבעים (למשל, Red,Green,Blue,Yellow).

לאחר מכן קרא שלושה קלטים נוספים:

  • מספר שלם index1 שמייצג את האינדקס הראשון לשינוי
  • מחרוזת newValue1 שמייצגת את הערך החדש עבור האינדקס הזה
  • מספר שלם index2 שמייצג את האינדקס השני לשינוי

צור מערך מהקלט המופרד בפסיקים, ואז:

  1. שנה את האיבר באינדקס index1 ל-newValue1
  2. שנה את האיבר באינדקס index2 ל-Purple

הדפס את איברי המערך ששונו בשורות נפרדות, לפי הסדר מאינדקס 0 ועד לאינדקס האחרון.

דוגמה:

אם הקלטים הם Red,Green,Blue,Yellow, 0, Orange ו-2, הפלט צריך להיות:

Orange
Green
Purple
Yellow

אם הקלטים הם Apple,Banana,Cherry,Mango,Kiwi, 1, Grape ו-4, הפלט צריך להיות:

Apple
Grape
Cherry
Mango
Purple

נסו בעצמכם

<?php
// קראו את הצבעים המופרדים בפסיקים
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);

// קראו את ערכי הקלט לשינוי
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));

// TODO: כתבו את הקוד שלכם כאן
// 1. שנו את האיבר במיקום index1 ל-newValue1
// 2. שנו את האיבר במיקום index2 לטקסט המדויק מההוראות

// הדפיסו כל איבר בשורה נפרדת
foreach ($colors as $color) {
    echo $color . "\n";
}
?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר PHP אונליין