函数名:filter_var_array()
适用版本:PHP 5 >= 5.2.0, PHP 7
用法:filter_var_array() 函数通过指定的过滤器对数组中的每个元素进行过滤。它接受两个参数:待过滤的数组和过滤器规则数组。过滤器规则数组包含了要应用于数组元素的过滤器和选项。
语法:filter_var_array(array $data, array $definition, bool $add_empty = true)
参数:
- $data:待过滤的数组。
- $definition:过滤器规则数组,定义了要应用于数组元素的过滤器和选项。
- $add_empty(可选):指定是否将空字符串视为有效值,默认为 true。
返回值:返回一个数组,其中包含了经过过滤的数组元素。
示例:
$data = array(
'name' => 'John Doe',
'age' => '25',
'email' => 'john@example.com'
);
$filters = array(
'name' => FILTER_SANITIZE_STRING,
'age' => array(
'filter' => FILTER_VALIDATE_INT,
'options' => array(
'min_range' => 1,
'max_range' => 100
)
),
'email' => FILTER_VALIDATE_EMAIL
);
$result = filter_var_array($data, $filters);
// 输出过滤后的结果
var_dump($result);
输出:
array(3) {
["name"]=>
string(8) "John Doe"
["age"]=>
int(25)
["email"]=>
string(17) "john@example.com"
}
在上面的示例中,我们定义了一个包含姓名、年龄和电子邮件的数组。然后,我们定义了一个过滤器规则数组,其中包含了对应的过滤器和选项。最后,我们使用 filter_var_array() 函数对数组进行过滤,并将过滤后的结果存储在 $result 变量中。最后使用 var_dump() 函数输出过滤后的结果。