filter_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_varFiltra una variable con el filtro que se indique

Descripción

filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed

Filtra una variable usando un filtro de validación FILTER_VALIDATE_*, un filtro de saneamiento FILTER_SANITIZE_*, o un filtro definido por el usuario.

Parámetros

value
Valor a filtrar.
Advertencia

Valores escalares son convertidos a string internamente antes de ser filtrados.

filter
El filtro a aplicar. Puede ser un filtro de validación usando una de las constantes FILTER_VALIDATE_*, un filtro de saneamiento usando una de las constantes FILTER_SANITIZE_* o FILTER_UNSAFE_RAW, o un filtro personalizado usando FILTER_CALLBACK.

Nota: Por omisión es FILTER_DEFAULT, que es un alias de FILTER_UNSAFE_RAW. Esto resultará en que no se aplique ningún filtro por omisión.

options
O bien un array asociativo de opciones, o bien una máscara de bits de constantes de indicadores de filtro FILTER_FLAG_*. Si el filter acepta opciones, los indicadores pueden ser proporcionados usando el campo "flags" del array.

Valores devueltos

En caso de éxito devuelve la variable filtrada. En caso de fallo se devuelve false, a menos que se use el flag FILTER_NULL_ON_FAILURE, en cuyo caso se devuelve null.

Ejemplos

Ejemplo #1 Ejemplo de filter_var()

<?php
var_dump
(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

El resultado del ejemplo sería:

string(15) "bob@example.com"
bool(false)

Ejemplo #2 Example validating entries of an array

<?php
$emails
= [
"bob@example.com",
"test@example.local",
"invalidemail"
];

var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>

El resultado del ejemplo sería:

array(3) {
  [0]=>
  string(15) "bob@example.com"
  [1]=>
  string(18) "test@example.local"
  [2]=>
  bool(false)
}

Ejemplo #3 Ejemplo de pasar un array para options

<?php

$options
= [
'options' => [
'min_range' => 10,
],
'flags' => FILTER_FLAG_ALLOW_OCTAL,
];

var_dump(filter_var('0755', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('011', FILTER_VALIDATE_INT, $options));

?>

El resultado del ejemplo sería:

int(493)
bool(false)

Ejemplo #4 Proporcionar flags directamente o vía un array

<?php

$str
= 'string';

var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE]));

?>

El resultado del ejemplo sería:

NULL
NULL

Ver también