filter_input_array
(PHP 5 >= 5.2.0, PECL filter:0.11.0)
filter_input_array — Obtem múltiplas variáveis do PHP e opcionalmente as filtra
Descrição
Esta função é útil para receber muitos valores sem repetidamente chamar a função filter_input().
Parâmetros
- type
-
Um dos INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, ou INPUT_REQUEST.
- definition
-
Um definindo os argumentos. Uma chave válida é um string contendo o nome da variável e um valor válido é um tipo filtro, ou um array opcionalmente especificando o filtro, flags e opções. Se o valor é um array, chaves válidas são filter que especifica o tipo de filtro, flags que especifica uma flag aplica ao filtro, e options que especifica uma opção para aplicar ao filtro. Veja os exemplos abaixo para entender melhor.
Este parâmetro pode ser também um inteiro indicando uma constante da filter. Então todos valores na array de entrada serão filtradas por este filtro.
Valor Retornado
Um array contendo os valores das variáveis requisitads em caso de sucesso, ou FALSE em falha. Um array de valores será FALSE se o filtro falhar, ou NULL se a variável não é definida. Ou se a flag FILTER_NULL_ON_FAILURE é usada, é retornado FALSE se a variável não é definida e NULL se o filtro falhar.
Exemplos
Example#1 Um exemplo da filter_input_array()
<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from POST
$_POST = array(
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => array('2', '23', '10', '12'),
'testarray' => '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)
),
'versions' => 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";
?>
O exemplo acima irá imprimir:
array(6) { ["product_id"]=> array(1) { [0]=> string(17) "libgd%3Cscript%3E" } ["component"]=> array(1) { [0]=> int(10) } ["versions"]=> array(1) { [0]=> string(6) "2.0.33" } ["doesnotexist"]=> NULL ["testscalar"]=> bool(false) ["testarray"]=> array(1) { [0]=> int(2) } }