【发布时间】:2015-01-06 20:02:23
【问题描述】:
我创建了一个名为 Sanitize 的类。
我使用 filter_var 函数来过滤和清理数据。我从数组中构建了 filter_var() 第三个参数:$options,类似于以下代码:
private $options = array('typeOfData' => array('options' => array(), 'flags' => array()));
我可以使用正确的选项构建一个数组,但是这种方法行不通。我只想要选项或标志中的一个,这不是问题。不幸的是,我想将几个选项或标志常量传递给 filter_var。
对于标志,是否可以构建想要的结果,如 FLAG1 |标志2? 如果不是,我是否应该使用 filter_var,并根据所需的标志切换到使用 filter_var?
这是当前使用 filter_var 的代码:filter_var($value, $this->filters[$typeOFData], $this->currentOptions);
【问题讨论】:
-
$options 是您的一个类方法中的可选参数吗?正确的?你想传递给选项什么?您要过滤掉什么?
-
将参数更正为
filter_var()的第三个参数,而不是函数的参数。添加:filter_var()在我的代码中使用。 -
您想使用不同的标志多次过滤相同的字符串吗?还是您想根据实例使用不同的标志进行过滤?两种方式都很简单。
-
我想根据输入类型 (gettype()) 和标记进行过滤。例如:SANITIZE_FLOAT 不带标志,或带 FILTER_FLAG_ALLOW_FRACTION,或带更多选项。
标签: php arrays flags filter-var