filter_var_array
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
Descrição
$array
, 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_var().
Parâmetros
array
-
Um array com as chaves string contendo os dados a filtrar.
options
-
Um array definindo os argumentos. Uma chave válida é uma string contendo o 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álida são
filter
que especifica o tipo de filtro,flags
que especifica alguma marca aplicada ao filtro, eoptions
que especifica uma opção que é aplicada ao filtro. Veja o exemplo abaixo para um melhor entendimento.Este parâmetro pode ser também um inteiro contendo uma constante de filtro. Desta forma, todos valores no array de entrada serão filtrados por este filtro.
add_empty
-
Adiciona chaves faltantes como
null
ao valor de retorno.
Valor Retornado
Um array contendo valores das variáveis requisitadas em caso de sucesso, ou false
em caso de falha. Um valor de array será false
se o filtro falhar, ou null
se
a variável não estiver definida.
Exemplos
Example #1 Um exemplo de filter_var_array()
<?php
$data = 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_FORCE_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_FORCE_ARRAY,
)
);
$myinputs = filter_var_array($data, $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) } ["versions"]=> string(6) "2.0.33" ["doesnotexist"]=> NULL ["testscalar"]=> bool(false) ["testarray"]=> array(1) { [0]=> int(2) } }
Veja Também
- filter_input_array() - Obtem variáveis externas e opcionalmente as filtra
- filter_var() - Filtra uma variável com um filtro especificado
- filter_input() - Obtém uma variável externa específica por nome e filtra-a opcionalmente
- Tipos de filtros