Función PHP Array_reduce

Función PHP Array_reduce
PHP tiene muchas funciones incorporadas para trabajar con las variables de matriz. El array_reduce () La función es una de las funciones incorporadas de PHP para reducir los valores de la matriz en un solo valor utilizando una función de devolución de llamada. Esta función es útil al generar contenido combinando la matriz de valores basados ​​en los requisitos. La sintaxis de esta función se da a continuación.

Sintaxis:

Array_reduce mixto (matriz $ matriz, devolución de llamada $ llamable [, mixta $ inicial = null])

El primer argumento es obligatorio que toma una matriz, y la salida se devolverá en función de los valores de esta matriz.

El segundo argumento es obligatorio, que define el nombre de la función de devolución de llamada, y esta función se utilizará para generar la salida única utilizando valores de matriz.

El tercer argumento es opcional y se usa para establecer los valores iniciales para funcionar con los valores de matriz. El valor predeterminado de este argumento es nulo.

La función volverá una sola salida que puede ser una cadena, entero o flotación. Si la matriz está vacía, devolverá el valor inicial utilizado en el tercer argumento.

array_reduce () ejemplos de funciones

Los usos de la función array_reduce () se han mostrado en la siguiente parte de este tutorial utilizando múltiples ejemplos.

Ejemplo-1: Uso de la función Array_reduce () sin valor inicial

Cree un archivo PHP con el siguiente script para generar una cadena combinando los valores de la matriz con el espacio. La función de devolución de llamada nombrada callback_function () se ha definido para usar dentro de la función Array_reduce () Haga la tarea. Se ha declarado una matriz de 4 valores de cadena en el script. La función array_reduce () se ha utilizado aquí sin ningún valor inicial. Entonces, el valor predeterminado, nulo, se utilizará para generar la salida de la función array_reduce ().

// Declarar la función de devolución de llamada
function Callback_function ($ v1, $ v2)

// Combinar los valores con espacio
$ V .= $ V1.".$ V2;
// devuelve el valor de combinación
devolver $ V;

// declarar la matriz de datos de cadena
$ array = array ('i', 'me gusta', 'php', 'programación');
eco "La salida de la función array_reduce () sin valor inicial:
";
// imprime el valor devuelto de la función array_reduce ()
echo array_reduce ($ array, "callback_function");
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: uso de la función Array_reduce () con valor inicial

Cree un archivo PHP con el siguiente script para generar una cadena combinando los valores de matriz con la coma (,). La función de devolución de llamada nombrada callback_function () se ha definido para usar dentro de la función Array_reduce () Haga la tarea. Se ha declarado una matriz de 5 valores de cadena en el script. La función array_reduce () se ha utilizado aquí con el valor inicial, 'PHP', que generará la salida de la función array_reduce ().

// Declarar la función de devolución de llamada
function Callback_function ($ value1, $ value2)

devolver $ valor1 . "," . $ valor2;

// declarar la matriz de datos de cadena
$ array = array ('python', 'perl', 'bash', 'java', 'c ++');
eco "La salida de la función array_reduce () con valor inicial:
";
echo array_reduce ($ array, "callback_function", 'php');
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-3: Calcule la suma de todos los números positivos de la matriz

Cree un archivo PHP con el siguiente script para calcular la suma de todos los números positivos de la matriz. La función de devolución de llamada nombrada callback_function () se ha definido para usar dentro de la función Array_reduce () Haga la tarea. Se ha declarado una matriz de 7 números en el script que contiene 4 números positivos. La función array_reduce () se ha utilizado aquí con el valor inicial, 0, y este valor se utilizará para generar la salida de la función Array_reduce ().

// Declarar la función de devolución de llamada
function Callback_function ($ v1, $ v2)

if ($ v2> 0)
$ v1 += $ v2;
devolver $ v1;

// Declarar la matriz de números positivos y negativos
$ array = array (9, -5, 3, -7, 1, 7, -4);
eco "Los valores de la matriz son:
";
// imprime los valores de la matriz
print_r ($ array);
eco "
La suma de todos los números positivos es:
";
// imprima la suma de todos los números positivos de la matriz
echo array_reduce ($ array, "callback_function", 0);
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La suma de 9, 3, 1 y 7 es 20, que se muestra en la salida.

Ejemplo-4: multiplicar los valores de la matriz

Cree un archivo PHP con el siguiente script que calculará el resultado de multiplicación de los valores numéricos de la matriz. No se ha declarado una función de devolución de llamada por separado en el script, y la función de una sola declaración se ha utilizado dentro de la función array_reduce () para hacer la multiplicación. Se ha declarado una matriz de 4 números en el guión. La función array_reduce () se ha utilizado aquí con el valor inicial, 1, y este valor se utilizará para generar la salida de la función Array_reduce ().

// Declarar la matriz de números
$ array = array (4, 5, 3, 5);
// multiplicar los valores de la matriz
$ multiply = array_reduce ($ array, fn ($ v1, $ v2) => $ v1 * $ v2, 1);
eco "Los valores de la matriz son:
";
// imprime los valores de la matriz
print_r ($ array);
eco "
El valor de multiplicación de todos los elementos de la matriz es:
";
echo $ multiply;
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El resultado de multiplicación de 4, 5, 3 y 5 es 300, que se muestra en la salida.

Ejemplo-5: uso de array_reduce () en una matriz bidimensional

Cree un archivo PHP con el siguiente script para calcular la suma de tres valores numéricos de una matriz bidimensional utilizando la función Array_reduce (). No se ha declarado una función de devolución de llamada por separado en el script como en el ejemplo anterior, y la función con múltiples declaraciones se ha utilizado dentro de la función array_reduce () para hacer la suma.

// declarar una matriz bidimensional
$ estudiantes = [
['Nombre' => 'Rakib Hossain', 'Física' => 90, 'Química' => 75, 'Math' => 95],
['Nombre' => 'Neela Akter', 'Física' => 67, 'Química' => 81, 'Math' => 78],
['Nombre' => 'Kabir Hasan', 'Física' => 71, 'Química' => 55, 'Math' => 74],
['Nombre' => 'Mizanur Rahman', 'Física' => 70, 'Química' => 82, 'Math' => 89]
];
// Imprima las marcas totales de cada estudiante usando la función Array_reduce ()
$ Total = array_reduce (
$ estudiantes,
función ($ init = 0, $ val)
// Calcule la suma de todos los sujetos
$ sum = $ val ['física'] + $ val ['química'] + $ val ['math'];
// imprime las marcas con el nombre
echo $ val ['nombre']." Tiene ".$ suma." marcas.
";
regresar 1;

);
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión

Se han mostrado diferentes formas de usar la función array_reduce () en los ejemplos de este tutorial para ayudar a los usuarios de PHP a conocer el uso de esta función correctamente.