PHP5.4:我可以使用filter_var_array()对过滤器使用多个标志吗?

PHP5.4:我可以使用filter_var_array()对过滤器使用多个标志吗?,php,Php,对于filter\u var\u array()调用的$definition参数,类似这样的方法能起作用吗?(数组语法>=PHP5.4) 一次只使用一个标志是否是使用filter\u input\u array()时使用标志的唯一方法?例如:(写了很长的一段路,尽管我可以用循环来完成) 只需确保不要将标志放在它们自己的数组中。选项可以在一个数组中,但标志需要被视为一个整体,由按位OR运算符(|)分隔 如果“标志”不在它们自己的数组中(如本问题的第一个代码块中),这可能会起作用。测试。如果你想做过

对于
filter\u var\u array()
调用的$definition参数,类似这样的方法能起作用吗?(数组语法>=PHP5.4)

一次只使用一个标志是否是使用
filter\u input\u array()
时使用标志的唯一方法?例如:(写了很长的一段路,尽管我可以用循环来完成)


只需确保不要将标志放在它们自己的数组中。选项可以在一个数组中,但标志需要被视为一个整体,由按位OR运算符(
|
)分隔


如果“标志”不在它们自己的数组中(如本问题的第一个代码块中),这可能会起作用。测试。如果你想做过滤验证邮件和过滤回调呢?还需要做两个吗?没错。事实上,我有一个类,它可以过滤回调以进行清理,然后我使用FILTER SANTIZE电子邮件或任何特定于字段的过滤器再次运行我的字段。此外,我还有第二个类处理验证。这一次,我让它先运行特定于字段的FILTER_VALIDATE_BLAH FILTER,然后再次使用FILTER_CALLBACK来运行我的自定义验证例程。简言之,先清理(自定义,php过滤器),然后验证(php过滤器,自定义验证器)。这些“管道”实际上是按位OR运算符。
mixed filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] )
   $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]],
   ];
   $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]
   ];
   $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]
   ];