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

Batch Filtering with filter_input_array التحقق الجماعي من حقول النموذج بـ filter_input_array

اضبط حدود النطاقات الرقمية والقيم الافتراضية وأعلام التحقق من العناوين وفحص المدخلات مباشرة عبر filter_var وfilter_input في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

بدلاً من تكرار استدعاء filter_var() عشرات المرات لنموذج كبير، عرّف مخطط قواعد التحقق في مصفوفة واحدة ومرره إلى filter_input_array() أو filter_var_array().

  • يربط كل مفتاح في المخطط اسم الحقل بثابت الفلتر أو بمصفوفة إعدادات تضم "filter" و"flags" و"options".
  • افتراضياً ($add_empty = true)، تُضاف الحقول الغائبة عن المدخلات إلى المصفوفة الناتجة بقيمة null.
  • الحقول التي تفشل في التحقق تأخذ القيمة false في المصفوفة الناتجة، مما يسهل جمع أخطاء النموذج دفعة واحدة.

تتحقق filter_var_array() من الحقول الثلاثة دفعة واحدة وفق المخطط $schema؛ فينجح البريد والكمية بينما تصبح قيمة "ip" الخاطئة false.

PHP
<?php
$postData = ["email" => "[email protected]", "qty" => "4", "ip" => "999.9.9.9"];
$schema   = [
    "email" => FILTER_VALIDATE_EMAIL,
    "qty"   => ["filter" => FILTER_VALIDATE_INT, "options" => ["min_range" => 1, "max_range" => 10]],
    "ip"    => ["filter" => FILTER_VALIDATE_IP,  "flags"   => FILTER_FLAG_IPV4],
];

$clean = filter_var_array($postData, $schema);
echo "Email: " . $clean["email"] . " | Qty: " . $clean["qty"] . " | IP valid? " . ($clean["ip"] ? "Yes" : "No") . "\n";