PHP의 filter_list() 함수는 현재 설치된 PHP 환경에서 사용할 수 있는 모든 필터의 목록을 배열 형태로 반환합니다. 데이터 유효성 검사나 입력값 정화(sanitization) 작업을 수행하기 전에 어떤 필터가 지원되는지 확인하고 싶을 때 유용하게 활용할 수 있습니다.
문법(Syntax)
filter_list()
이 함수는 별도의 매개변수를 받지 않습니다.
반환값(Return)
filter_list() 함수는 사용 가능한 모든 필터 이름을 요소로 담은 배열(array)을 반환합니다. 만약 사용 가능한 필터가 하나도 없다면 빈 배열을 반환합니다.
예제(Example)
아래 예제는 filter_list() 함수로 전체 필터 목록을 가져온 뒤, 각 필터의 이름과 filter_id() 함수를 통해 얻은 고유 ID를 함께 출력하는 코드입니다.
<?php
foreach (filter_list() as $id => $filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>출력 결과(Output)
위 코드를 실행하면 다음과 같이 각 필터의 이름과 해당 ID가 쌍으로 출력됩니다.
int257 boolean258 float259 validate_regexp272 validate_domain277 validate_url273 validate_email274 validate_ip275 validate_mac276 string513 stripped513 encoded514 special_chars515 full_special_chars522 unsafe_raw516 email517 url518 number_int519 number_float520 magic_quotes521 callback1024
참고 사항
출력된 목록에서 int, boolean, float처럼 숫자 200번대 ID를 가진 필터들은 주로 유효성 검사(validation)에 사용되며, string, stripped, encoded 등 500번대 ID를 가진 필터들은 입력값 정화(sanitization)에 사용됩니다. 또한 이 함수와 함께 filter_id() 함수를 사용하면 필터 이름으로 고유 ID를 조회할 수 있어, 두 함수를 조합하면 필터 관련 작업을 더욱 편리하게 처리할 수 있습니다.