Menu
Coddy logo textTech

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

חלק מהיחידה יסודות במסלול ה-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 אונליין