filter_var_array
(PHP 5 >= 5.2.0, PECL filter:0.11.0)
filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
Descrição
Esta função é útil para receber muitos valores sem repetidamente chamar a função filter_var().
Parâmetros
- data
-
Um array com as string contendo a informação a ser filtrada.
- definition
-
Um array definindo os argumentos. Uma chave válida é uma string contendo o nome da variável e um valor com um tipo de filtro, ou um array opcionalmente especificando o filtro, flags e opções. Se o valor é um array, chaves válida são filter que especifica o tipo do filtro, flags que especifica alguma flag aplicada ao filter, e options que especifica uma opção que é aplicada ao filtro. Veja o exemplo abaixo para entender melhor.
Este parâmetro pode ser também um inteiro indincando uma constante da filter. Então todos valores no array de entrada serão filtrados por este filtro.
Valor Retornado
Um array contendo valores das requisitadas variáveis em caso de sucesso, ou FALSE em falha. Um valor da array será FALSE se o filtro falhar, ou NULL se a variável não é definida.
Exemplos
Example#1 Um exemplo da filter_var_array()
<?php
error_reporting(E_ALL | E_STRICT);
$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 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) } }