Menu
CoddyTech

בדיקה אם מפתח קיים

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

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

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

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

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

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

challenge icon

אתגר

קל

קרא שורת קלט שמכילה אובייקט JSON המייצג נתוני משתמש (לדוגמה, {"username": "john_doe", "email": "john@example.com", "age": 28}).

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

  • מחרוזת key1 - המפתח הראשון לבדיקה
  • מחרוזת key2 - המפתח השני לבדיקה

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

  1. בדוק אם key1 קיים במערך. אם כן, הדפס את הערך שמשויך אליו. אם לא, הדפס Key not found.
  2. בדוק אם key2 קיים במערך. אם כן, הדפס את הערך שמשויך אליו. אם לא, הדפס Key not found.

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

דוגמה:

אם הקלטים הם {"username": "john_doe", "email": "john@example.com", "age": 28}, username ו-phone, הפלט אמור להיות:

john_doe
Key not found

אם הקלטים הם {"title": "Manager", "department": "Sales"}, salary ו-department, הפלט אמור להיות:

Key not found
Sales

נסו בעצמכם

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

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

// TODO: כתבו את הקוד שלכם למטה
// בדקו אם key1 קיים והדפיסו את הערך או את הטקסט המדויק שמופיע בהוראות

// בדקו אם key2 קיים והדפיסו את הערך או את הטקסט המדויק שמופיע בהוראות

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

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

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

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