توابع filter_input_array() در PHP

تعریف و نحوه استفاده

توابع filter_input_array() ورودی‌های چندگانه را از خارج از اسکریپت دریافت کرده و آنها را فیلتر می‌کند.

این تابع نیازی به فراخوانی مجدد filter_input() ندارد، برای فیلتر کردن چندین متغیر ورودی بسیار مفید است.

این تابع می‌تواند ورودی‌ها را از منابع مختلف دریافت کند:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (هنوز اجرا نشده)
  • INPUT_REQUEST (هنوز اجرا نشده)

اگر موفق باشد، داده‌های فیلتر شده را برمی‌گرداند، اگر ناموفق باشد، false را برمی‌گرداند.

نحوه استفاده

filter_input(input_type, args)
پارامتر توضیح
input_type ضروری. نوع ورودی را تعیین می‌کند. به لیست بالا نگاه کنید که انواع ممکن را نشان می‌دهد.
args

اختیاری. آرایه پارامترهای فیلتر را مشخص می‌کند.

کلیدهای مجاز آرایه قانونی نام متغیرها هستند. مقادیر مجاز شناسه فیلتر هستند، یا آرایه‌هایی که شامل فیلتر، نشانگرها و گزینه‌ها هستند.

این پارامتر همچنین می‌تواند یک شناسه فیلتر单独 باشد. اگر اینطور باشد، تمام مقادیر آرایه ورودی توسط فیلتر مشخص شده فیلتر می‌شوند.

توجهها و نظرات

توجه:مطالعه کنیددستورالعمل کامل PHP Filter، برای مشاهده فیلترهایی که می‌توانند با این تابع استفاده شوند، ببینید.

مثال

در این مثال، ما از تابع filter_input_array() برای فیلتر کردن سه متغیر POST استفاده می‌کنیم. متغیرهای POST پذیرفته شده شامل نام، سن و آدرس ایمیل هستند:

<?php
$filters = array
 (
 "name" => array
  (
  "filter"=>FILTER_CALLBACK,
  "flags"=>FILTER_FORCE_ARRAY,
  "options"=>"ucwords"
  ),
 "age" => array
  (
  "filter"=>FILTER_VALIDATE_INT,
  "options"=>array
   (
   "min_range"=>1,
   "max_range"=>120
   )
  ),
 "email"=> FILTER_VALIDATE_EMAIL,
 );
print_r(filter_input_array(INPUT_POST, $filters));
?>

输出类似:

Array
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )