شرح صفوف ومحتوى الفقرة
تقوم خطوط استيراد البيانات بتوحيد عناوين الأعمدة عبر array_map()، وربطها بالصفوف عبر array_combine()، والتحقق من الأعمدة الإلزامية عبر array_diff().
- استخدم
array_map("strtolower", $headers)لتوحيد حالة أحرف عناوين الأعمدة قبل استدعاءarray_combine(). - استخدم
array_diff($requiredCols, array_keys($record))للتحقق من عدم غياب أي حقل إلزامي. - عندما ترجع
array_diff()مصفوفة فارغة[]، فهذا يؤكد وجود جميع المفاتيح المطلوبة.
تم تهذيب الرؤوس وتحويلها لأحرف صغيرة وربطها بالقيم، ثم كشفت array_diff() أن المفتاح الإلزامي "tax" مفقود.
PHP
<?php
$rawHeaders = [" SKU ", "Price", "Stock"];
$headers = array_map("strtolower", array_map("trim", $rawHeaders));
$values = ["MON-4K", 349.99, 12];
$record = array_combine($headers, $values);
$missing = array_diff(["sku", "price", "tax"], array_keys($record));
echo "Mapped SKU : " . $record["sku"] . "\n";
echo "Missing key: " . implode(", ", $missing) . "\n";