فیلتر FILTER_VALIDATE_INT
فیلتر FILTER_VALIDATE_INT
مثال
بررسی می کند که آیا متغیر int$ یک عدد صحیح است یا نه:
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Run example »$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
تعریف و کاربرد
از تابع FILTER_VALIDATE_INT برای اعتبار سنجی مقدار یک عدد صحیح(integer) استفاده می شود.
فیلتر FILTER_VALIDATE_INT همچنین به ما اجازه می دهد تا برای متغیر عدد صحیح مورد نظر، یک برد(range) تعریف کنیم.
optionها و flag های امکان پذیر:
- min_range - کمترین برد عدد صحیح را مشخص می کند.
- max_range - بیشترین برد عدد صحیح را مشخص می کند.
- FILTER_FLAG_ALLOW_OCTAL - اجازه ی وارد کردن اعداد اکتال را به ما می دهد.
- FILTER_FLAG_ALLOW_HEX - اجازه ی وارد کردن اعداد هگزادسیمال را به ما می دهد.
نکته: هنگام مشخص کردن option ها در یک آرایه. option ها باید در یک آرایه ی چند بعدی انجمنی قرار بگیرند به طوری که نام آن برابر با "options" باشد.
مثال های بیشتر
ایجاد مشکل با 0 و FILTER_VALIDATE_INT - در مثال بالای صفحه، اگر int$ به 0 ست شود تابع مورد نظر عبارت "Variable is not an integer" را برمی گرداند. برای حل کردن این مشکل، از کد زیر استفاده کنید:
مثال 1
تعمیر کد مورد نظر برای اعتبار سنجی 0 بعنوان یک عدد صحیح:
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
Run example »$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Variable is an integer");
} else {
echo("Variable is not an integer");
}
?>
مثال 2
بررسی اینکه نوع یک متغیر INT باشد و بین 1 تا 200 نیز باشد:
<?php
$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
echo("Variable value is not within the legal range");
} else {
echo("Variable value is within the legal range");
}
?>
Run example »$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
echo("Variable value is not within the legal range");
} else {
echo("Variable value is within the legal range");
}
?>
- نوشته شده توسط احسان عباسی
- بازدید: 2964