arrays — список констант php, связанных оператором в filter_var

Я создал класс с именем Sanitize.

Я использую функцию filter_var для фильтрации и очистки данных. Я создал третий параметр filter_var () из массива: $ options, который похож на следующий код:

private $options = array('typeOfData' => array('options' => array(), 'flags' => array()));

Я могу построить массив с правильными параметрами, но этот метод не будет работать. Я хотел только одну из опций или флагов, это не было бы проблемой. К сожалению, я хотел бы передать несколько констант опций или флагов в filter_var.

Для флагов возможно ли получить желаемый результат, как FLAG1 | Flag2?
Если нет, я должен использовать filter_var, с переключателем использовать filter_var в зависимости от требуемых флагов?

Это текущий код с использованием filter_var: filter_var($value, $this->filters[$typeOFData], $this->currentOptions);

1

Решение

Класс, который Sanitizes на основе типа:

class Sanitize{
private $data;
private $filteredData;
private $options;
private $typeof;
private $filters;

function __contruct($data){

$this->typeof = gettype($data);
$this->data = $data;

switch ($this->typeof){
case "integer":
$this->options = array( /* array of options for integer type*/ );
$this->filters = array( /*array of all filters you want to use on integers*/ )
break;
case "string":
//....
}

private function getSanitized(){

$filtersNum = count($this->filters);

for($x=0;$x<$filtersNum;$x++){

if(allowsOptions($this->filters[$x])){ $options = $this->options; }else{$options = null;}

$this->filteredData = filter_var($this->data, $this->filters[$x], $options)
}
}

private function allowsOptions($filter){
/* all your code to check*/
return true or false
}
}

Я надеюсь, что это поможет, если нет, дайте мне знать.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]