Filter filter_input_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input_array — 외부 변수를 가져오고 선택적으로 필터링합니다.
설명
filter_input_array(int $type
, array|int $options
= FILTER_DEFAULT, bool $add_empty
= true
): array|false|null
이 함수는 filter_input()을 반복적으로 호출하지 않고 많은 값을 검색하는 데 유용합니다.
매개변수
type
INPUT_GET
,INPUT_POST
,INPUT_COOKIE
,INPUT_SERVER
또는INPUT_ENV
중 하나입니다.options
- 인수를 정의하는 배열입니다. 유효한 키는 변수 이름을 포함하는 문자열이고 유효한 값은 filter type이거나 필터, 플래그 및 옵션을 선택적으로 지정하는 배열입니다. 값이 배열인 경우 유효한 키는 filter type을 지정하는
filter
, 필터에 적용되는 플래그를 지정하는flags
및 필터에 적용되는 옵션을 지정하는options
입니다. 더 나은 이해를 위해 아래 예를 참조하십시오.이 매개변수는 filter constant를 보유하는 정수일 수도 있습니다. 그런 다음 입력 배열의 모든 값이 이 필터로 필터링됩니다.
add_empty
- 누락된 키를 반환 값에
null
로 추가합니다.
반환 값
성공 시 요청된 변수의 값을 포함하는 배열입니다. type
으로 지정된 입력 배열이 채워지지 않은 경우 함수는 FILTER_NULL_ON_FAILURE
플래그가 제공되지 않으면 null
을 반환하고 그렇지 않으면 false
를 반환합니다. 다른 실패의 경우 false
가 반환됩니다.
필터가 실패하면 배열 값은 false
가 되고 변수가 설정되지 않으면 null
이 됩니다. 또는 FILTER_NULL_ON_FAILURE
플래그가 사용되면 변수가 설정되지 않으면 false
를 반환하고 필터가 실패하면 null
을 반환합니다. add_empty
매개변수가 false
이면 설정되지 않은 변수에 대해 배열 요소가 추가되지 않습니다.
Examples
예제 #1 filter_input_array() 예제
<?php
/* data actually came from POST
$_POST = array(
'product_id' => 'libgd<script>',
'component' => array('10'),
'version' => '2.0.33',
'testarray' => array('2', '23', '10', '12'),
'testscalar' => '2',
);
*/
$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'version' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)
);
$myinputs = filter_input_array(INPUT_POST, $args);
var_dump($myinputs);
echo "\n";
?>
위의 예는 다음을 출력합니다.
array(6) { ["product_id"]=> string(17) "libgd%3Cscript%3E" ["component"]=> array(1) { [0]=> int(10) } ["version"]=> string(6) "2.0.33" ["doesnotexist"]=> NULL ["testscalar"]=> int(2) ["testarray"]=> array(4) { [0]=> int(2) [1]=> int(23) [2]=> int(10) [3]=> int(12) } }
메모
메모: INPUT_SERVER
배열에는 나중에 $_SERVER에 삽입되기 때문에 REQUEST_TIME
키가 없습니다.
기타
- filter_input() - 이름으로 특정 외부 변수를 가져오고 선택적으로 필터링합니다.
- filter_var_array() - 여러 변수를 가져오고 선택적으로 필터링합니다.
- Types of filters