Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP filter_id() 함수 사용법 – 필터 이름으로 필터 ID 조회하기

PHP의 filter_id() 함수는 지정한 필터 이름에 해당하는 필터 ID를 반환하는 함수입니다. 이 함수는 PHP Filter 확장 모듈에서 제공하며, 유효성 검사나 데이터 정제 작업 시 특정 필터를 숫자 ID로 참조해야 할 때 유용하게 사용됩니다.

문법 (Syntax)

filter_id(filtername)

매개변수 (Parameters)

  • filtername − 필터 ID를 가져올 대상 필터의 이름입니다. 예를 들어 'validate_email', 'string', 'int' 등이 있습니다.

반환값 (Return)

filter_id() 함수는 성공 시 해당 필터의 ID(정수)를 반환하고, 존재하지 않는 필터 이름을 전달하면 FALSE를 반환합니다.

예제 (Example)

아래 예제는 filter_list() 함수로 사용 가능한 모든 필터 목록을 순회하면서, 각 필터 이름과 그에 대응하는 필터 ID를 함께 출력합니다.

<?php
   foreach (filter_list() as $id =>$filter) {
      echo $filter . "=" . filter_id($filter) . "<br>";
   }
?>

출력 결과 (Output)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

int = 257
boolean = 258
float = 259
validate_regexp = 272
validate_domain = 277
validate_url = 273
validate_email = 274
validate_ip = 275
validate_mac = 276
string = 513
stripped = 513
encoded = 514
special_chars = 515
full_special_chars = 522
unsafe_raw = 516
email = 517
url = 518number_int = 519
number_float = 520
magic_quotes = 521
callback = 1024

참고 사항

필터 ID는 크게 세 그룹으로 나뉩니다. 257~259번대는 기본 타입 검사용 필터(int, boolean, float), 270번대는 유효성 검사용 필터(validate_* 계열), 500번대 이후는 데이터 정제(sanitization)용 필터입니다. 또한 filter_id()는 존재하지 않는 필터 이름에 대해 FALSE를 반환하므로, 실무에서는 반환값을 반드시 검증한 후 사용하는 것이 안전합니다.