Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحقق من وجود المفتاح

جزء من قسم الأساسيات في رحلة 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";
}
?>

تأخذ الدالة وسيطين: الـ key الذي تبحث عنه و الـ array الذي تريد البحث فيه. وتُرجع true إذا كان الـ key موجودًا، وfalse خلاف ذلك. وهذا يجعلها مثالية للاستخدام في الجمل الشرطية.

يكون هذا التحقّق مفيدًا بشكل خاص عند التعامل مع بيانات قد تكون غير مكتملة، مثل إدخال user أو البيانات من مصادر خارجية، حيث لا يمكنك ضمان وجود جميع المفاتيح المتوقعة.

challenge icon

التحدي

سهل

اقرأ سطرًا من الإدخال يحتوي على كائن JSON يمثّل بيانات user (مثل: {"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 عبر الإنترنت