تابع ()filter_input_array
تابع ()filter_input_array
مثال
بررسی اینکه آیا متغیر "email" از طریق متد "get" به صفحه ی php مورد نظر ارسال شده است یا نه و همچنین بررسی اینکه آیا آن یک آدرس ایمیل معتبر است یا نه:
if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) {
echo("Email is not valid");
} else {
echo("Email is valid");
}
?>
تعریف و کاربرد
تابع ()filter_input_array متغیرهای خارجی(مثل input فرم) را گرفته و به طور اختیاری آنها را فیلتر می کند.
این تابع در زمینه ی فیلتر کردن تعداد زیادی از مقادیر در یک دفعه، به جای فراخوانی تابع ()filter_input در دفعات متعدد، استفاده می شود.
نحوه نوشتن
پارامترها | توضیحات |
---|---|
type |
ضروری. نوع ورودی که قرار است مورد بررسی قرار بگیرد. می تواند یکی از موارد زیر باشد:
|
definition |
اختیاری. یک آرایه از آرگومان های فیلتر را مشخص می کند. یک کلید آرایه ی معتبر، در اینجا یک نام متغیر است و یک مقدار معتبر، یک نام فیلتر و یا ID است و یا یک آرایه است که flag ها و option ها را مشخص می کند. این پارامتر همچنین می تواند یک نام یا ID تکی باشد. در این صورت تمام مقادیر درون آرایه ی input به وسیله ی فیلتر مشخص شده، فیلتر خواهند شد. |
add_empty |
اختیاری. یک مقدار بولی است. هنگامی که به TRUE ست شود در مقدار برگشتی، کلید های فراموش شده را بعنوان NULL قرار می دهد. مقدار پیش فرض TRUE است. |
جزئیات تکنیکی
مقدار برگشتی: |
در صورت موفقیت ، یک آرایه را برمی گرداند که دربردارنده ی مقادیر متغیرهای مورد نظر است. و در صورت شکست FALSE برگردانده خواهد شد. |
---|---|
ورژن PHP: | 5.2.0+ |
مثال
در این مثال ما از تابع ()filter_input_array برای فیلتر کردن سه متغیر POST استفاده می کنیم . متغیر های POST دریافت شده عبارتند از یک name و یک age و یک آدرس ایمیل:
$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));
?>
خروجی برابر است با:
(
[name] => Peter
[age] => 41
[email] => این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید
)
- نوشته شده توسط احسان عباسی
- بازدید: 3211