array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.filter-input-array.php', 1 => 'filter_input_array', ), 'up' => array ( 0 => 'ref.filter.php', 1 => 'Funções da Filter', ), 'prev' => array ( 0 => 'function.filter-id.php', 1 => 'filter_id', ), 'next' => array ( 0 => 'function.filter-input.php', 1 => 'filter_input', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filter/functions/filter-input-array.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input_array — Obtem variáveis externas e opcionalmente as filtra
$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().
type
Uma das constantes INPUT_GET
, INPUT_POST
,
INPUT_COOKIE
, INPUT_SERVER
ou
INPUT_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, e options
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.
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.
Exemplo #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) } }
Nota:
Não existe a chave
REQUEST_TIME
no arrayINPUT_SERVER
porque ela será inserida na variável $_SERVER mais tarde.