شرح صفوف ومحتوى الفقرة
بدلاً من تكرار استدعاء 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";