Os filtros PHP são usados para validar e “crivar” a entrada externa. A extensão de filtro PHP tem muitas das funções necessárias para verificar a entrada do usuário e foi projetada para tornar a validação de dados mais fácil e rápida. Indique a alternativa que apresenta corretamente o objetivo do parâmetro FILTER_SANITIZE_NUMBER_INT da função filter_var do PHP.
Questão
Os filtros PHP são usados para validar e “crivar” a entrada externa. A extensão de filtro PHP tem muitas das funções necessárias para verificar a entrada do usuário e foi projetada para tornar a validação de dados mais fácil e rápida.
Indique a alternativa que apresenta corretamente o objetivo do parâmetro FILTER_SANITIZE_NUMBER_INT da função filter_var do PHP.
Alternativas
a) Rejeitar o campo no caso de não conseguir converter o conteúdo para inteiro.
b) Extrair apenas os números inteiros e os sinais positivo e negativo.
c) Identificar se o campo é do tipo inteiro.
d) Aceitar o campo mesmo que não seja do tipo inteiro.
e) Identificar os caracteres que não são do tipo inteiro no campo
Explicação
O parâmetro FILTER_SANITIZE_NUMBER_INT (usado em filter_var) tem como objetivo sanitizar um valor, isto é, remover caracteres inválidos e manter apenas aqueles que podem compor um número inteiro.
Passo a passo do raciocínio:
- O nome contém SANITIZE, então não é para “validar/rejeitar” (isso seria mais a ideia de
FILTER_VALIDATE_INT). - Para inteiros, a sanitização permite ficar apenas com:
- dígitos 0–9;
- sinais + e - (quando presentes no texto).
- Logo, o efeito esperado é “crivar” o conteúdo, extraindo apenas esses caracteres.
Assim, a alternativa que descreve corretamente o objetivo é a que diz que o filtro extrai apenas números inteiros e sinais positivo/negativo.
Alternativa correta: (b).