اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_var_array
تابع اعتبار سنج ( ) filter_var_array :
تابع ( ) filter_var_array ، مقدار چندین ( آرایه ای از ) متغیر را دریافت کرده و آنها
را بر اساس معیار مورد نظر اعتبار سنجی می کند .
برای مثال متغیرها می توانند مقداری از پیش تعیین شده بوده یا مقداری که کاربر در کادرهای
متن در یک فرم وب وارد کرده است ، باشد.
فرق تابع ( ) filter_var_array با تابع ( ) filter_var در این است که تابع ( ) filter_var_array
می تواند چندین متغیر را همزمان و بدون نیاز به تکرار دستوری ، اعتبار سنجی نماید ،
حال آنکه تابع ( ) filter_var ، فقط می تواند یک متغیر را اعتبار سنجی نماید .
خروجی این تابع ، به صورت آرایه ای از جواب های True یا False خواهد بود .
شکل کلی استفاده از این تابع به صورت زیر است :
|
Syntax
|
filter_var_array ( array , filter args )
|
|
توضیح
|
این پارامتر تعیین کننده نام آرایه ای از متغیر هایی که تابع قرار است آنها را اعتبار
سنجی نماید .
استفاده از این پارامتر اجباری است .
|
این پارامتر تعیین کننده نام یا ID یکی از فیلتر های پیش ساخته اعتبار سنج PHP
است که بر مبنای آن داده ورودی اعتبار سنجی می شود . مقدار پیش فرض برای این پارامتر
FILTER_SANITIZE_STRING است . برای دریافت اطلاعات کامل راجع به انواع فیلتر های پیش
ساخته PHP به صفحه مرجع فیلتر های اعتبار سنج
در PHP بروید .
استفاده از این پارامتر اختیاری است .
|
با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_var_array را برای اعتبار
سنجی 3 متغیری که در آرایه arr قرار داده اند ، استفاده کرده ایم . مقادیر ورودی یک
name ، age و یک e-mail addres هستند.
|
مثال
|
< ? php
$arr = array
(
"name" => "peter griffin",
"age" => "41",
"email" => "peter@example.com",
);
$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_var_array($arr, $filters));
?>
|
|
خروجی
|
Array
(
[name] => Peter Griffin
[age] => 41
[email] => peter@example.com
)
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :