【问题标题】:PHP filter_input were validatio flags are an enum?PHP filter_input 是验证标志是枚举吗?
【发布时间】:2014-06-01 08:33:51
【问题描述】:

环顾四周,但没有在任何地方看到这个,基本问题是,如果我的一个键的值是枚举(想想 mysql 枚举),我可以使用filter_input_array,protocode 会是这样的。

print_r(filter_input_array(INPUT_POST, [
    'CanBeFooOrBar' => [
        'filter'   => FILTER_VALIDATE_ENUM, 
        'options'  => ['foo', 'bar'],
    ]
]));

如果可能,我的过滤器是什么,如果不是,复制这种行为的最佳方法是什么?

【问题讨论】:

    标签: php enums filtering


    【解决方案1】:

    没有特定的列表/枚举过滤器。
    你得到的最接近的是FILTER_VALIDATE_REGEXP,比如:

    print_r(filter_input_array(INPUT_POST, [
        'CanBeFooOrBar' => [
            'filter'   => FILTER_VALIDATE_REGEXP, 
            'options'  => ["regexp" => "/^(foo|bar)$/"],
        ]
    ]));
    

    我个人使用something 更花哨,这将其简化为:

    print $_POST->in_array("CanBeFooOrBar", "foo,bar");
    

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      相关资源
      最近更新 更多