2012-02-22 4 views
2

나는 다양한 조합과 filter_var_array()의 순열을 시도하고이에 대한 답 찾기 아직했습니다PHP : filter_var_array를 사용하여 공통 필터를 적용 하시겠습니까?

오히려 큰 연관 배열을 감안할를, 나는 배열의 모든 요소에 FILTER_FLAG_STRIP_LOW 플래그 FILTER_SANITIZE_STRING을 적용해야 .

그래서 :

filter_var_array($my_big_array,FILTER_SANITIZE_STRING); 

FILTER_SANITIZE_STRING 필터하지만 FILTER_FLAG_STRIP_LOW 플래그없이 적용됩니다.

그리고 ...

filter_var_array($my_big_array,FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW); 

오류를 불러옵니다.

filter_var_array()을 사용하여 공통 필터를 쉽게 적용 할 수 있습니까?

+0

답변을 드리겠습니다. 아래를 참조하십시오. 이것이 좋은 대답이라면 요점을 고맙게 생각합니다. 감사! –

답변

1

Good filter_var_array() syntax

제 filter_var_array()는 인수는 PHP 매뉴얼에 따라 적절한 $ 정의 할 필요가있다.

예 :

그냥 당신이하지 자신의 배열 내부 플래그를 배치해야합니까 있는지 확인하십시오. 옵션은 배열에있을 수 있지만 플래그는 파이프로 구분 된 하나의 전체 것으로 간주되어야합니다.

$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] 
      ]; 
0

이진 연산자를 사용하여 FILTER_SANITIZE_STRING & FILTER_FLAG_STRIP_LOW처럼 결합 할 수 있어야하지만 아직 테스트하지 않았습니다.

+0

슬프게도 이것은 afterall 작동하지 않습니다. 그것은 배열을 파괴하고 모든 데이터를 잃는 것 같습니다. –

관련 문제