شرح صفوف ومحتوى الفقرة
عند التعامل مع مصفوفات الإعدادات العميقة أو البيانات المتداخلة، قد يكون أحد المفاتيح الوسيطة غير موجود. وتؤدي محاولة قراءة $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;