انتقل إلى محتوى الدرس

Safely Reading Nested Keys القراءة الآمنة للمفاتيح المتداخلة

تعلّم المصفوفات متعددة الأبعاد وتفكيك المصفوفات في PHP بأسلوب PHP 8 الحديث مع أمثلة عملية وتطبيقات تفاعلية.
1 صفوف تعليمية
PHP
3 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عند التعامل مع مصفوفات الإعدادات العميقة أو البيانات المتداخلة، قد يكون أحد المفاتيح الوسيطة غير موجود. وتؤدي محاولة قراءة $data['profile']['city'] مباشرة عند غياب المفتاح 'profile' إلى إطلاق تحذير Undefined array key.

استخدم معامل الدمج الصفري ?? (أو دالة isset()) مع المسارات المتداخلة؛ فالصيغة $city = $data['profile']['city'] ?? 'Riyadh'; تُرجع القيمة البديلة بأمان تام دون أي تحذير حتى لو غاب المستوى الأول بالكامل!

PHP
<?php
$settings = [
    'database' => ['host' => '127.0.0.1', 'port' => 3306],
];

$dbHost = $settings['database']['host'] ?? 'localhost';
$cacheDriver = $settings['cache']['driver'] ?? 'file';
echo $dbHost . ' | ' . $cacheDriver;