توابع 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 )