diff --git a/reference/filter/functions/filter-input-array.xml b/reference/filter/functions/filter-input-array.xml index ce49e1353..a3b583eec 100644 --- a/reference/filter/functions/filter-input-array.xml +++ b/reference/filter/functions/filter-input-array.xml @@ -1,7 +1,5 @@ - - - + filter_input_array @@ -42,12 +40,8 @@ - - - - - - + + @@ -58,24 +52,136 @@ En caso de fallo, se devuelve &false;. - Excepto si el fallo es que el array de entrada designado por - type no está poblado, donde se devuelve &null; - si se usa el flag FILTER_NULL_ON_FAILURE. + Si el array de entrada designado por type no está + poblado, se devuelve &null; en su lugar. - Las entradas faltantes del array de entrada se rellenarán en el array - devuelto si add_empty es &true;. - En cuyo caso, las entradas faltantes se establecerán en &null;, - a menos que se use el flag FILTER_NULL_ON_FAILURE, - en cuyo caso será &false;. + Las entradas faltantes del array de entrada se añaden al &array; devuelto + como &null; si add_empty es &true;, + y se omiten por completo si es &false;. + A diferencia de filter_input, + el flag FILTER_NULL_ON_FAILURE no cambia esto: + una entrada faltante siempre es &null;. Un valor del array devuelto será &false; si el filtro falla, a menos que se use el flag FILTER_NULL_ON_FAILURE, en cuyo caso será &null;. + Con el flag FILTER_FORCE_ARRAY, + ese valor de fallo se envuelve en un &array; de un solo elemento + como cualquier otro resultado. + + &reftitle.examples; + + Ejemplo de <function>filter_input_array</function> + + Este ejemplo supone una petición GET a + ?email=user@example.com&age=twenty&url=https://example.com. + La entrada age falla porque twenty no + es un entero; un valor fuera del rango de 1 a + 120 fallaría de la misma manera. + + + FILTER_VALIDATE_EMAIL, + 'age' => [ + 'filter' => FILTER_VALIDATE_INT, + 'options' => ['min_range' => 1, 'max_range' => 120], + ], + 'url' => FILTER_VALIDATE_URL, +]; + +$result = filter_input_array(INPUT_GET, $filters); + +var_dump($result); +?> +]]> + + &example.outputs.similar; + + + string(16) "user@example.com" + ["age"]=> + bool(false) + ["url"]=> + string(19) "https://example.com" +} +]]> + + + + Filtrado de datos POST con <function>filter_input_array</function> + + Este ejemplo supone una petición POST con los campos + username=<script>alert</script> y + comment=Hello World. + No se envía ningún campo missing: como + add_empty vale &true; por defecto, sigue estando + presente en el resultado, establecido a &null;. + + + FILTER_SANITIZE_SPECIAL_CHARS, + 'comment' => FILTER_SANITIZE_SPECIAL_CHARS, + 'missing' => FILTER_VALIDATE_INT, +]; + +$result = filter_input_array(INPUT_POST, $filters); + +var_dump($result); +?> +]]> + + &example.outputs.similar; + + + string(38) "<script>alert</script>" + ["comment"]=> + string(11) "Hello World" + ["missing"]=> + NULL +} +]]> + + + + Petición de un tipo de entrada que no está poblado + + Este ejemplo supone una petición GET. + Como la petición no llevaba ningún campo POST, + el array de entrada designado por INPUT_POST no está + poblado y se devuelve &null; en lugar de un &array;. + Esto se aplica a todos los tipos de entrada: + una petición sin cadena de consulta devuelve también &null; para + INPUT_GET. + + + FILTER_VALIDATE_INT])); +?> +]]> + + &example.outputs.similar; + + + + + + &reftitle.notes; diff --git a/reference/filter/functions/filter-var-array.xml b/reference/filter/functions/filter-var-array.xml index b814df613..1a48923fa 100644 --- a/reference/filter/functions/filter-var-array.xml +++ b/reference/filter/functions/filter-var-array.xml @@ -1,7 +1,5 @@ - - - + filter_var_array @@ -50,7 +48,7 @@ La array de opciones es un array asociativo donde la clave corresponde - a una clave en la matriz de datos array y el valor + a una clave del array de entrada y el valor asociado es el filtro a aplicar a esta entrada, o un array asociativo que describe cómo y qué filtro se debe aplicar a esta entrada. @@ -64,7 +62,7 @@ FILTER_UNSAFE_RAW, o FILTER_CALLBACK. Opcionalmente, puede contener la clave 'flags', - que especifica los indicadores que se aplican al filtro, + que especifica cualquier flag que se aplique al filtro, y la clave 'options', que especifica las opciones que se aplican al filtro. @@ -83,17 +81,39 @@ &reftitle.returnvalues; - - En caso de éxito un array que contiene los valores de las variables que se - han pedido o &false; en caso de fallo. El valor del array será &false; si - el filtro falla o &null; si la variable no está definida. - + + En caso de éxito, un &array; que contiene los valores de las variables solicitadas. + + + En caso de fallo, se devuelve &false;. + + + Las entradas faltantes del array de entrada se añaden al &array; devuelto + como &null; si add_empty es &true;, + y se omiten por completo si es &false;. + + + Un valor del array devuelto será &false; si el filtro falla, + a menos que se use el flag FILTER_NULL_ON_FAILURE, + en cuyo caso será &null;. + Con el flag FILTER_FORCE_ARRAY, + ese valor de fallo se envuelve en un &array; de un solo elemento + como cualquier otro resultado. + &reftitle.examples; Ejemplo de <function>filter_var_array</function> + + Las entradas se filtran como escalares a menos que se use + FILTER_REQUIRE_ARRAY o + FILTER_FORCE_ARRAY. + Por lo tanto, el flag FILTER_REQUIRE_SCALAR en + testscalar, a continuación, solo indica ese + comportamiento por defecto de forma explícita. + NULL } +]]> + + + + Aplicación de un único filtro a todos los valores + + Cuando options es un &integer;, se aplica el mismo + filtro a cada entrada del array. + + + 'John', + 'email' => 'john@example