W3docs

La función Array Filter de PHP: Una guía completa

The PHP Array Filter function is a built-in function that is used to filter elements of an array based on a specified condition. This function is particularly

La función array_filter de PHP es una función integrada que se utiliza para filtrar los elementos de un array según una condición especificada. Esta función es particularmente útil cuando se trabaja con arrays grandes y necesitas extraer elementos específicos que cumplan con ciertos criterios. En este artículo, analizaremos en profundidad la función array_filter de PHP y cómo puede utilizarse para simplificar tu proceso de codificación.

¿Cómo funciona la función Array Filter?

La función array_filter de PHP funciona iterando sobre los elementos de un array y aplicando una función de devolución de llamada (callback) a cada uno. Esta función callback es una función personalizada que proporcionas y determina si un elemento debe incluirse en el array filtrado final. Si la función callback devuelve true para un elemento en particular, ese elemento se incluirá en el array filtrado; de lo contrario, se excluirá.

Sintaxis de la función Array Filter

La sintaxis básica de la función array_filter de PHP es la siguiente:

Sintaxis de array_filter en PHP

array_filter(array, callback)
  • array es el array que deseas filtrar.
  • callback es la función personalizada que proporcionas para determinar qué elementos deben incluirse en el array filtrado.

Uso de la función Array Filter con una función callback personalizada

Uno de los casos de uso más comunes para la función array_filter de PHP es filtrar un array según una condición personalizada. Para ello, necesitas proporcionar una función callback personalizada que devuelva true para los elementos que deben incluirse en el array filtrado y false para los que deben excluirse.

A continuación, se muestra un ejemplo que filtra un array de números para incluir solo los pares:

Ejemplo de uso de la función array_filter en PHP

<?php

$numbers = [1, 2, 3, 4, 5, 6];

$evenNumbers = array_filter($numbers, function($number) {
    return ($number % 2 == 0);
});

print_r($evenNumbers);

?>

Salida:


Array ( [1] => 2 [3] => 4 [5] => 6 )

Uso de la función Array Filter con funciones callback integradas

Además de utilizar una función callback personalizada, también puedes usar una de las funciones callback integradas disponibles en PHP. Por ejemplo, puedes utilizar la función is_numeric para incluir solo valores numéricos en un array filtrado:

Uso de la función array_filter en PHP para filtrar solo valores numéricos

<?php

$mixed = [1, '2', 'three', 4, 5];

$onlyNumbers = array_filter($mixed, 'is_numeric');

print_r($onlyNumbers);

?>

Salida:


Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )

Diagrama del flujo de la función Array Filter

Conclusión

La función array_filter de PHP es una herramienta poderosa para filtrar los elementos de un array según una condición especificada. Ya sea que utilices una función callback personalizada o una de las funciones integradas, esta función facilita la extracción de elementos específicos de un array y simplifica tu proceso de codificación. Por lo tanto, si trabajas con arrays en PHP, asegúrate de incluir la función array_filter en tu conjunto de herramientas.

Práctica

Práctica

¿Qué hace la función array_filter() en PHP?