Menu
Coddy logo textTech

שינוי ערכים לפי מפתח

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

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

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

$person["age"] = 26;
$person["city"] = "London";

echo $person["age"];  // 26
echo $person["city"]; // London
?>

כשמקצים ערך למפתח שכבר קיים, PHP פשוט מחליפה את הערך הישן בחדש. המפתח עצמו נשאר ללא שינוי: רק הערך המשויך אליו מתעדכן.

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

challenge icon

אתגר

קל

קרא שורת קלט המכילה אובייקט JSON שמייצג את המידע של מוצר (למשל, {"name": "Laptop", "price": 999, "stock": 50}).

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

  • מחרוזת key1 - המפתח הראשון לעדכון
  • מחרוזת value1 - הערך החדש של key1
  • מחרוזת key2 - המפתח השני לעדכון
  • מחרוזת value2 - הערך החדש של key2

צור מערך אסוציאטיבי מקלט ה-JSON, ואז:

  1. עדכן את הערך המשויך ל-key1 ל-value1
  2. עדכן את הערך המשויך ל-key2 ל-value2
  3. הדפס את הערך המעודכן של key1
  4. הדפס את הערך המעודכן של key2

הדפס כל תוצאה בשורה נפרדת.

דוגמה:

אם הקלטים הם {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock ו-45, הפלט צריך להיות:

1099
45

אם הקלטים הם {"city": "Paris", "country": "France", "population": 2000000}, city, London, country ו-UK, הפלט צריך להיות:

London
UK

נסו בעצמכם

<?php
// קראו את קלט ה-JSON
$jsonInput = trim(fgets(STDIN));

// קראו את המפתחות והערכים שיש לעדכן
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

// המירו את JSON למערך אסוציאטיבי
$product = (array)json_decode($jsonInput, true);

// TODO: כתבו את הקוד שלכם למטה
// 1. עדכנו את הערך המשויך ל-key1 ל-value1
// 2. עדכנו את הערך המשויך ל-key2 ל-value2
// 3. הדפיסו את הערכים המעודכנים

?>
quiz iconבחנו את עצמכם

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

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

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