Função php array_map

Função php array_map
O Array_map () A função é usada no PHP para criar uma matriz multidimensional combinando uma ou mais matrizes. Outro uso dessa função é modificar cada elemento da matriz com base na condição específica. Ele envia cada valor para uma função de retorno de chamada definida pelo usuário que retorna uma nova matriz após a modificação. Os usos desta função são discutidos neste tutorial.

Sintaxe

Array Array_map (retorno de chamada de chamadas, matriz $ Array, Array… $ ARAYS);

O primeiro e o segundo argumentos desta função são obrigatórios. O primeiro argumento contém a função de retorno de chamada que modificará os elementos da matriz. O segundo argumento contém a matriz que será modificada. Os outros argumentos são opcionais e usados ​​para armazenar outras matrizes. Ele retornará uma matriz modificada gerada pela função de retorno de chamada.

Uso da função Array_map ()

Os usos da função Array_map () para vários propósitos são mostrados nesta parte do tutorial.

Exemplo 1: Crie uma matriz removendo os valores específicos da matriz
Crie um arquivo php com o seguinte script para criar uma nova matriz removendo alguns valores específicos da matriz principal. Uma variedade de dados numéricos foi declarada no script que contém 5 elementos. A função de retorno de chamada chamado callback_func () declarou criar uma nova matriz removendo os números maiores que 99 da matriz numérica. O valor de retorno da função Array_map () será impresso posteriormente:

// declarar uma variedade de dados numéricos
$ num_array = matriz (78, 45, 300, 98, 690);
// Imprima os valores da matriz
eco "Valores da matriz antes de chamar Array_Map () Função:
";
print_r ($ num_array);
/*
Declare a função de retorno de chamada
Para remover esses números da matriz
esses são maiores que 99
*/
Função callback_func ($ valor)

// Verifique se o valor é maior que 99 ou não
se ($ valor> 99)

// Remova o valor da matriz
Unset ($ valor);

outro
retornar $ valor;

eco "
Valores da matriz após chamar Array_map () Função:
";
// imprima a matriz após remover os valores vazios
print_r (array_filter (array_map ("callback_func", $ num_array)));
?>

Saída:

A saída a seguir aparecerá após a execução do script anterior. Dois elementos na matriz são mais de 99, que são 300 e 690. Esses dois elementos foram removidos da matriz de saída.

Exemplo 2: Crie uma matriz usando os dados de várias matrizes
Crie um arquivo php com o seguinte script que criará uma matriz calculando a energia onde o valor base será retirado de uma matriz, e o valor de energia será retirado de outra matriz. A matriz recém -gerada será impressa mais tarde:

// declara duas matrizes numéricas de elementos iguais
$ num_arr1 = matriz (2, 3, 5, 8);
$ num_arr2 = matriz (5, 4, 3, 2);
// imprime os valores de duas matrizes
eco "
Os valores de duas matrizes:
";
print_r ($ num_arr1);
eco "
";
print_r ($ num_arr2);
eco "
";
/*
Defina a função de retorno de chamada para calcular a energia baseada
em dois valores de matriz onde o valor da primeira matriz
será o valor base e o valor da segunda matriz será o poder.
*/
função calcular_power ($ val1, $ val2)
// Calcule o poder
Return Pow ($ Val1, $ Val2);

// Imprima a matriz retornada pela função Array_Map ()
eco "
Os valores da matriz retornados pela função Array_Map ():
";
print_r (array_map ("calcular_power", $ num_arr1, $ num_arr2));
?>

Saída:

A saída a seguir aparecerá após a execução do script anterior:

Exemplo 3: Crie uma matriz combinando duas matrizes sem uma função de retorno de chamada
Nos dois exemplos anteriores, a função de retorno de chamada foi usada no primeiro argumento da função Array_map (). No entanto, essa função pode ser usada sem uma função de retorno de chamada e o nulo o valor foi usado no primeiro argumento da função. Crie um arquivo php com o script a seguir para criar uma nova matriz combinando os valores de duas matrizes sem usar nenhuma função de retorno de chamada:

// declarar duas matrizes de valores de string
$ name_arr1 = Array ("Sakib", "Sarleez", "Janifer");
$ name_arr2 = Array ("Tania", "Tawsif", "Zafar", "Fatema");
// imprime os valores de duas matrizes
eco "
Os valores de duas matrizes:
";
print_r ($ name_arr1);
eco "
";
print_r ($ name_arr2);
eco "
";
// Imprima a matriz retornada pela função Array_Map ()
eco "
Os valores da matriz retornados pela função Array_Map ():
";
print_r (array_map (null, $ name_arr1, $ name_arr2));
?>

Saída:

A saída a seguir aparecerá após a execução do script anterior:

Exemplo 4: Crie uma matriz modificando os valores numéricos de uma matriz associativa
Crie um arquivo php com o seguinte script para modificar os valores numéricos da matriz associativa. Uma variedade associativa de dois elementos foi declarada no script. A função de retorno de chamada nomeado Modify_array () foi declarado para adicionar “$”Antes de cada valor numérico da matriz.

// declarar uma matriz associativa
$ assoc_array = ["nome" => "caneta", "preço" => 10];
// Imprima os valores da matriz
eco "Valores da matriz antes de chamar Array_Map () Função:
";
print_r ($ assoc_array);
/*
Declarar uma função de retorno de chamada para
Adicione '$' antes de cada valor numérico da matriz
*/
função modify_array ($ val)
if (is_numeric ($ val))
retornar "$".$ val;
outro
retornar $ val;

eco "

Valores da matriz após chamar Array_map () Função:
";
// Imprima a matriz modificada
print_r (array_map ("modify_array", $ assoc_array));
?>

Saída:

A saída a seguir aparecerá após a execução do script anterior. Um elemento da matriz contém o valor numérico que é 10. O valor mudou para "$ 10" na matriz de saída.

Exemplo 5: Crie uma matriz baseada nas chaves e valores da matriz associativa
A função de retorno de chamada () da função Array_map () pode levar dois argumentos para a matriz associativa. Crie um arquivo php com o seguinte script para gerar uma nova matriz usando as chaves e os valores da matriz associativa. A função de retorno de chamada nomeado Modify_assoc_array () levará a chave da matriz no primeiro argumento e o valor da matriz no segundo argumento. A matriz de saída conterá os valores combinados de chave e valor.

// declarar uma matriz associativa
$ marks = ['01344' => 3.67, '01637' => 3.40, '05632' => 2.99, '03733' => 3.25];
// Imprima os valores da matriz
eco "Os valores da matriz associativa:
";
print_r ($ marks);
/*
Declarar uma função de retorno de chamada para
Crie uma nova matriz baseada nas chaves e valores
da matriz associativa
*/
função modify_assoc_array ($ val1, $ val2)
retornar "O CGPA de $ val1 é $ val2";

eco "

Os valores da matriz após chamam a função Array_map ():
";
// Imprima os novos valores da matriz
print_r (array_map ('modify_assoc_array', array_keys ($ marks), array_values ​​($ marks)));
?>

Saída:

A saída a seguir aparecerá após a execução do script anterior:

Conclusão

Os diferentes usos da função Array_map () foram explicados neste tutorial. Felizmente, este artigo pode ajudar os usuários do PHP a conhecer o objetivo de usar esta função e aplicá -la corretamente em seu script. Confira Linuxhint para obter artigos mais informativos.