filter_input_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input_array — Obtem variáveis externas e opcionalmente as filtra
Descrição
$type
, array|int $options
= FILTER_DEFAULT
, bool $add_empty
= true
): array|false|nullEsta função é útil para receber muitos valores sem repetidamente chamar a função filter_input().
Parâmetros
type
-
Uma das constantes
INPUT_GET
,INPUT_POST
,INPUT_COOKIE
,INPUT_SERVER
ouINPUT_ENV
. options
-
Um array definindo os argumentos. Uma chave válida é uma string contendo um nome da variável, e um valor válido é um tipo de filtro, ou um array opcionalmente especificando o filtro, marcas e opções. Se o valor for um array, chaves válidas são
filter
que especifica o tipo de filtro,flags
que especifica quaisquer marcas que se aplicam ao filtro, eoptions
que especifica quaisquer opções que serão aplicadas ao filtro. Veja os exemplos abaixo para um melhor entendimento.Este parâmetro pode ser também um inteiro contendo uma constante de filtro. Desta forma, todos os valores no array de entrada serão filtradas por este filtro.
add_empty
-
Adiciona chaves faltantes como
null
ao valor de retorno.
Valor Retornado
Um array contendo os valores das variáveis requisitads em caso de sucesso.
Se o array de entrada designado por type
não for preenchido,
a função retorna null
se a marca FILTER_NULL_ON_FAILURE
não for fornecida, ou false
caso contrário. Para outras falhas, false
é retornado.
Um valor de array será false
se o filtro falhar, ou null
se
a variável não estiver definida. Ou, se a marca FILTER_NULL_ON_FAILURE
for usada, a função retorna false
se a variável não estiver definida e null
se o filtro
falhar. Se o parâmetro add_empty
for false
, nenhum elemento
de array será adicionado para variáveis não definidas.
Exemplos
Example #1 Um exemplo da filter_input_array()
<?php
/* dados realmente vieram de 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";
?>
O exemplo acima produzirá:
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) } }
Notas
Note:
Não existe a chave
REQUEST_TIME
no arrayINPUT_SERVER
porque ela será inserida na variável $_SERVER mais tarde.
Veja Também
- filter_input() - Obtém uma variável externa específica por nome e filtra-a opcionalmente
- filter_var_array() - Obtêm múltiplas variáveis e opcionalmente as filtra
- Tipos de filtros