PHP Manual: filter_var_array()
mixed filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] )
对于filter_var_array()调用的$definition参数,这样的东西可以工作吗? (数组语法> = PHP5.4)
$def = [
'firstName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => [FILTER_REQUIRE_SCALAR | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH]],
'lastName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => [FILTER_REQUIRE_SCALAR | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH]],
];
在使用filter_input_array()时,一次只使用一个标志是使用标志的唯一方法吗?例如:(写得很远,虽然我可以用循环来做到这一点).
$def1 = [
'firstName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_REQUIRE_SCALAR],
'lastName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_REQUIRE_SCALAR]
];
$def2 = [
'firstName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_NO_ENCODE_QUOTES],
'lastName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_NO_ENCODE_QUOTES]
];
$def3 = [
'firstName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_STRIP_LOW],
'lastName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_STRIP_LOW]
];
$def4 = [
'firstName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_STRIP_HIGH],
'lastName' => ['filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FLAG_STRIP_HIGH]
];