filter_input_array()函数是PHP中的内置函数,用于获取外部变量(例如,从表单输入中获取)并对其进行过滤(如果已指定)。此函数类似于filter_input()函数,但唯一的区别是filter_input()过滤单个值,但filter_input_array()根据提供的选项过滤整个数组。它对于检索/过滤许多值很有用,而不是多次调用filter_input()。这是PHP中的新函数,仅在PHP 5.2或更高版本的PHP中有效。
用法:
mixed filter_input_array( $type_of_data, $definition, $add_empty_parameter )
参数:此函数接受上述和以下所述的三个参数:
- type_of_data:它是必填参数。它保存要检查的数据的输入类型。可用的选项有:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_SERVER
- INPUT_ENV
- definition:它是可选参数。它指定过滤器参数或参数的数组。有效的数组键作为变量名,有效值作为过滤器名或ID,或者指定过滤器,标志和选项的数组。该参数也可以是单个过滤器名称/ID,就像filter_input()一样,然后输入数组中的所有值都由指定的过滤器过滤。
- add_empty_parameter:它是可选参数。它是一个布尔参数。设置为True时,它将缺少的键作为NULL添加到返回值。其默认值为True。
返回值:它返回包含成功和失败变量值的数组,并返回False。如果未填充按类型指定的输入数组,则如果未给出FILTER_NULL_ON_FAILURE标志,则函数返回NULL,否则返回False。对于其他失败,返回False。
以下示例程序旨在说明PHP中的filter_input_array()函数:
程序1:
<?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_GET, $filters));
?>
输出:
注意:此示例可能不提供在线IDE上的预期结果,因为它不支持GET或POST方法中的参数传递。因此,尝试在某些PHP托管服务器或localhost中运行它,并通过GET或POST方法传递参数的值。
程序2:
数据来自POST方法:
$_POST = array( 'product_id' => '234<A>', 'component' => array('10'), 'version' => '<2.8.9', 'array2' => array('45', '1'), 'scalar_data' => '2', );
<?php
// PHP program to uses filter_input_array() Function
error_reporting(E_ALL | E_STRICT);
$args = array(
'id' => FILTER_SANITIZE_ENCODED,
'array1' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array(
'min_range' => 1,
'max_range' => 10
)
),
'version' => FILTER_SANITIZE_ENCODED,
'noparameter' => FILTER_VALIDATE_INT,
'scalar_data' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'array2' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$allinputs = filter_input_array(INPUT_GET, $args);
var_dump($allinputs);
echo "\n";
?>
输出:
注意:此示例可能不提供在线IDE上的预期结果,因为它不支持GET或POST方法中的参数传递。因此,尝试在某些PHP托管服务器或localhost中运行它,并通过GET或POST方法传递参数的值。
参考文献: http://php.net/manual/en/function.filter-input-array.php
相关用法
- p5.js nfc()用法及代码示例
- p5.js nfp()用法及代码示例
- d3.js d3.hcl()用法及代码示例
- p5.js nfs()用法及代码示例
- PHP cos( )用法及代码示例
- PHP sin( )用法及代码示例
- p5.js nf()用法及代码示例
- PHP tan( )用法及代码示例
- PHP pow( )用法及代码示例
- d3.js d3.map.set()用法及代码示例
- d3.js d3.set.has()用法及代码示例
- PHP Ds\Set xor()用法及代码示例
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | filter_input_array() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。