التحقق من وجود المفتاح
جزء من قسم Fundamentals في رحلة PHP على Coddy. الدرس 45 من 71.
عند العمل مع المصفوفات التجميعية (associative arrays)، ستلجأ في كثير من الأحيان إلى التحقق مما إذا كان مفتاح معين موجودًا قبل محاولة الوصول إلى قيمته. قد تؤدي محاولة الوصول إلى مفتاح غير موجود إلى حدوث أخطاء، ولهذا توفر 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 في غير ذلك. وهذا يجعلها مثالية للاستخدام في العبارات الشرطية.
هذا التحقق مفيد بشكل خاص عند التعامل مع البيانات التي قد تكون غير مكتملة — مثل إدخالات المستخدمين أو البيانات القادمة من مصادر خارجية — حيث لا يمكنك ضمان وجود جميع المفاتيح المتوقعة.
التحدي
سهلاقرأ سطرًا من المدخلات يحتوي على كائن JSON يمثل بيانات مستخدم (على سبيل المثال، {"username": "john_doe", "email": "john@example.com", "age": 28}).
ثم اقرأ مدخلين إضافيين:
- سلسلة نصية
key1- المفتاح الأول المراد التحقق منه - سلسلة نصية
key2- المفتاح الثاني المراد التحقق منه
قم بإنشاء مصفوفة ترابطية من مدخل JSON، ثم:
- تحقق مما إذا كان
key1موجودًا في المصفوفة. إذا كان موجودًا، اطبع القيمة المرتبطة به. وإذا لم يكن موجودًا، اطبعKey not found. - تحقق مما إذا كان
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 موجودًا واطبع القيمة أو النص الدقيق من التعليمات
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط7المصفوفات الجزء الثاني - الترابطية
مقدمة في المصفوفات الترابطيةالوصول إلى القيم عبر المفتاحتعديل القيم عبر المفتاحإضافة أزواج (مفتاح-قيمة) جديدةالتحقق من وجود المفتاحملخص - مخزن بيانات (مفتاح-قيمة)2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت