Función PHP Array_Map

Función PHP Array_Map
El array_map () La función se usa en PHP para crear una matriz multidimensional combinando una o más matrices. Otro uso de esta función es modificar cada elemento de la matriz en función de la condición específica. Envía cada valor a una función de devolución de llamada definida por el usuario que devuelve una nueva matriz después de la modificación. Los usos de esta función se discuten en este tutorial.

Sintaxis

Array Array_map (Callable $ Callback, Array $ Array, Array ... $ matrices);

Los primeros y segundo argumentos de esta función son obligatorios. El primer argumento contiene la función de devolución de llamada que modificará los elementos de la matriz. El segundo argumento contiene la matriz que se modificará. Los otros argumentos son opcionales y se usan para almacenar otras matrices. Devolverá una matriz modificada generada por la función de devolución de llamada.

Uso de la función Array_Map ()

Los usos de la función array_map () para múltiples propósitos se muestran en esta parte del tutorial.

Ejemplo 1: Cree una matriz eliminando los valores específicos de la matriz
Cree un archivo PHP con el siguiente script para crear una nueva matriz eliminando algunos valores específicos de la matriz principal. Se ha declarado una variedad de datos numéricos en el script que contiene 5 elementos. La función de devolución de llamada llamada callback_func () ha declarado crear una nueva matriz eliminando aquellos números que son superiores a 99 de la matriz numérica. El valor de retorno de la función array_map () se imprimirá más tarde:

// declarar una variedad de datos numéricos
$ num_array = array (78, 45, 300, 98, 690);
// imprime los valores de la matriz
eco "Valores de matriz antes de llamar a la función Array_map ():
";
print_r ($ num_array);
/*
Declarar la función de devolución de llamada
Para eliminar esos números de la matriz
Esos son mayores de 99
*/
function Callback_func ($ valor)

// verifique que el valor sea mayor que 99 o no
if ($ valor> 99)

// Eliminar el valor de la matriz
unset ($ valor);

demás
devolver $ valor;

eco "
Valores de matriz después de llamar a la función Array_Map ():
";
// Imprima la matriz después de quitar los valores vacíos
print_r (array_filter (array_map ("callback_func", $ num_array)));
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Dos elementos en la matriz son más de 99, que son 300 y 690. Estos dos elementos se han eliminado de la matriz de salida.

Ejemplo 2: cree una matriz utilizando los datos de múltiples matrices
Cree un archivo PHP con el siguiente script que creará una matriz calculando la potencia donde se tomará el valor base de una matriz, y el valor de potencia se tomará de otra matriz. La matriz recién generada se imprimirá más tarde:

// declarar dos matrices numéricas de elementos iguales
$ num_arr1 = array (2, 3, 5, 8);
$ num_arr2 = array (5, 4, 3, 2);
// imprime los valores de dos matrices
eco "
Los valores de dos matrices:
";
print_r ($ num_arr1);
eco "
";
print_r ($ num_arr2);
eco "
";
/*
Defina la función de devolución de llamada para calcular la potencia basada
en dos valores de matriz donde el valor de la primera matriz
será el valor base y el valor de la segunda matriz será la potencia.
*/
función calculate_power ($ val1, $ val2)
// Calcular la potencia
Return Pow ($ Val1, $ Val2);

// Imprima la matriz devuelta por la función Array_Map ()
eco "
Los valores de matriz devueltos por la función Array_Map ():
";
print_r (array_map ("calculate_power", $ num_arr1, $ num_arr2));
?>

Producción:

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

Ejemplo 3: Crear una matriz combinando dos matrices sin una función de devolución de llamada
En los dos ejemplos anteriores, la función de devolución de llamada se utilizó en el primer argumento de la función Array_Map (). Sin embargo, esta función se puede usar sin una función de devolución de llamada y el nulo El valor se usó en el primer argumento de la función. Cree un archivo PHP con el siguiente script para crear una nueva matriz combinando los valores de dos matrices sin usar ninguna función de devolución de llamada:

// declarar dos matrices de valores de cadena
$ name_arr1 = array ("sakib", "sarleez", "janifer");
$ name_arr2 = Array ("Tania", "Tawsif", "Zafar", "fatema");
// imprime los valores de dos matrices
eco "
Los valores de dos matrices:
";
print_r ($ name_arr1);
eco "
";
print_r ($ name_arr2);
eco "
";
// Imprima la matriz devuelta por la función Array_Map ()
eco "
Los valores de matriz devueltos por la función Array_Map ():
";
print_r (array_map (null, $ name_arr1, $ name_arr2));
?>

Producción:

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

Ejemplo 4: Cree una matriz modificando los valores numéricos de una matriz asociativa
Cree un archivo PHP con el siguiente script para modificar los valores numéricos de la matriz asociativa. Se ha declarado una variedad asociativa de dos elementos en el guión. La función de devolución de llamada nombrada Modify_array () fue declarado agregar "ps"Antes de cada valor numérico de la matriz.

// declarar una matriz asociativa
$ Assoc_array = ["Name" => "Pen", "Precio" => 10];
// imprime los valores de la matriz
eco "Valores de matriz antes de llamar a la función Array_map ():
";
print_r ($ Assoc_Array);
/*
Declarar una función de devolución de llamada para
Agregue '$' antes de cada valor numérico de la matriz
*/
función modify_array ($ val)
if (is_numeric ($ val))
devolver "$".$ val;
demás
devolver $ val;

eco "

Valores de matriz después de llamar a la función Array_Map ():
";
// Imprimir la matriz modificada
print_r (array_map ("Modify_array", $ Assoc_array));
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Un elemento de la matriz contiene el valor numérico que es 10. El valor ha cambiado a "$ 10" en la matriz de salida.

Ejemplo 5: Crear una matriz basada en las teclas y valores de la matriz asociativa
La función Callback () de la función Array_Map () puede tomar dos argumentos para la matriz asociativa. Cree un archivo PHP con el siguiente script para generar una nueva matriz utilizando las teclas y los valores de la matriz asociativa. La función de devolución de llamada nombrada Modify_assoc_array () tomará la clave de la matriz en el primer argumento y el valor de la matriz en el segundo argumento. La matriz de salida contendrá los valores combinados de clave y valor.

// declarar una matriz asociativa
$ Marks = ['01344' => 3.67, '01637' => 3.40, '05632' => 2.99, '03733' => 3.25];
// imprime los valores de la matriz
eco "Los valores de la matriz asociativa:
";
print_r ($ Marks);
/*
Declarar una función de devolución de llamada para
Cree una nueva matriz basada en las teclas y los valores
de la matriz asociativa
*/
función modify_assoc_array ($ val1, $ val2)
devolver "El CGPA de $ Val1 es $ Val2";

eco "

Los valores de la matriz después de llamar a la función Array_Map ():
";
// imprime los nuevos valores de matriz
print_r (array_map ('modify_assoc_array', array_keys ($ marks), array_values ​​($ marks)));
?>

Producción:

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

Conclusión

Los diferentes usos de la función array_map () se han explicado en este tutorial. Con suerte, este artículo puede ayudar a los usuarios de PHP a conocer el propósito de usar esta función y aplicarla correctamente en su script. Consulte Linuxhint para obtener más artículos informativos.