Funzione php array_map

Funzione php array_map
IL array_map () La funzione viene utilizzata in PHP per creare un array multidimensionale combinando uno o più array. Un altro uso di questa funzione è modificare ciascun elemento dell'array in base alla condizione specifica. Invia ogni valore a una funzione di callback definita dall'utente che restituisce un nuovo array dopo la modifica. Gli usi di questa funzione sono discussi in questo tutorial.

Sintassi

Array Array_Map (Callable $ callback, array $ array, array ... $ array);

Il primo e il secondo argomento di questa funzione sono obbligatori. Il primo argomento contiene la funzione di callback che modificherà gli elementi dell'array. Il secondo argomento contiene l'array che verrà modificato. Gli altri argomenti sono opzionali e utilizzati per archiviare altri array. Restituirà un array modificato generato dalla funzione di callback.

Uso della funzione Array_Map ()

Gli usi della funzione array_map () per più scopi sono mostrati in questa parte del tutorial.

Esempio 1: creare un array rimuovendo i valori specifici dell'array
Crea un file PHP con il seguente script per creare un nuovo array rimuovendo alcuni valori specifici dall'array principale. Una serie di dati numerici è stato dichiarato nello script che contiene 5 elementi. La funzione di callback chiamata callback_func () ha dichiarato di creare un nuovo array rimuovendo quei numeri che sono superiori a 99 dall'array numerico. Il valore di ritorno della funzione Array_Map () verrà stampato in seguito:

// Dichiara una serie di dati numerici
$ num_array = array (78, 45, 300, 98, 690);
// Stampa i valori dell'array
eco "Valori dell'array prima di chiamare Array_Map () Funzione:
";
print_r ($ num_array);
/*
Dichiarare la funzione di callback
Per rimuovere quei numeri dall'array
quelli sono maggiori di 99
*/
funzione callback_func ($ value)

// Controlla che il valore è maggiore di 99 o no
if ($ valore> 99)

// Rimuovi il valore dall'array
Unset ($ value);

altro
restituire $ valore;

eco "
Valori dell'array dopo aver chiamato la funzione Array_Map ():
";
// Stampa l'array dopo aver rimosso i valori vuoti
print_r (array_filter (array_map ("callback_func", $ num_array)));
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente. Due elementi nell'array sono più di 99, che sono 300 e 690. Questi due elementi sono stati rimossi dall'array di uscita.

Esempio 2: creare un array utilizzando i dati di più array
Crea un file PHP con il seguente script che creerà un array calcolando la potenza in cui il valore di base verrà preso da un array e il valore di potenza verrà preso da un altro array. L'array appena generato verrà stampato in seguito:

// dichiara due array numerici di elementi uguali
$ num_arr1 = array (2, 3, 5, 8);
$ num_arr2 = array (5, 4, 3, 2);
// stampa i valori di due array
eco "
I valori di due array:
";
print_r ($ num_arr1);
eco "
";
print_r ($ num_arr2);
eco "
";
/*
Definire la funzione di callback per calcolare la potenza
su due valori di array in cui il valore del primo array
sarà il valore di base e il valore del secondo array sarà la potenza.
*/
Funzione Calculate_Power ($ Val1, $ Val2)
// calcola la potenza
restituire pow ($ val1, $ val2);

// Stampa l'array restituito dalla funzione array_map ()
eco "
I valori dell'array restituiti dalla funzione array_map ():
";
print_r (array_map ("calculacula_power", $ num_arr1, $ num_arr2));
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 3: crea un array combinando due array senza una funzione di callback
Nei due esempi precedenti, la funzione di callback è stata utilizzata nel primo argomento della funzione Array_Map (). Tuttavia, questa funzione può essere utilizzata senza una funzione di callback e il nullo Il valore è stato usato nel primo argomento della funzione. Crea un file PHP con il seguente script per creare un nuovo array combinando i valori di due array senza utilizzare alcuna funzione di callback:

// Dichiara due array di valori di stringa
$ name_arr1 = array ("sakib", "sarleez", "janifer");
$ name_arr2 = array ("tania", "tawsif", "zafar", "facema");
// stampa i valori di due array
eco "
I valori di due array:
";
print_r ($ name_arr1);
eco "
";
print_r ($ name_arr2);
eco "
";
// Stampa l'array restituito dalla funzione array_map ()
eco "
I valori dell'array restituiti dalla funzione array_map ():
";
print_r (array_map (null, $ name_arr1, $ name_arr2));
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 4: crea un array modificando i valori numerici di un array associativo
Crea un file PHP con il seguente script per modificare i valori numerici dell'array associativo. Una serie associativa di due elementi è stata dichiarata nella sceneggiatura. La funzione di callback denominata Modify_array () è stato dichiarato di aggiungere "$"Prima di ogni valore numerico dell'array.

// dichiara un array associativo
$ Assoc_array = ["name" => "penna", "prezzo" => 10];
// Stampa i valori dell'array
eco "Valori dell'array prima di chiamare Array_Map () Funzione:
";
print_r ($ Assoc_array);
/*
Dichiarare una funzione di callback a
Aggiungi '$' prima di ogni valore numerico dell'array
*/
funzione Modify_array ($ val)
if (is_numeric ($ val))
restituire "$".$ val;
altro
restituire $ val;

eco "

Valori dell'array dopo aver chiamato la funzione Array_Map ():
";
// Stampa l'array modificato
print_r (array_map ("Modify_array", $ assoc_array));
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente. Un elemento dell'array contiene il valore numerico che è 10. Il valore è cambiato in "$ 10" nell'array di output.

Esempio 5: creare un array basato sulle chiavi e sui valori dell'array associativo
La funzione callback () della funzione Array_Map () può prendere due argomenti per l'array associativo. Crea un file PHP con il seguente script per generare un nuovo array utilizzando le chiavi e i valori dell'array associativo. La funzione di callback denominata Modify_assoc_array () prenderà la chiave dell'array nel primo argomento e il valore dell'array nel secondo argomento. L'array di output conterrà i valori combinati di chiave e valore.

// dichiara un array associativo
$ marks = ['01344' => 3.67, '01637' => 3.40, '05632' => 2.99, '03733' => 3.25];
// Stampa i valori dell'array
eco "I valori dell'array associativo:
";
print_r ($ marks);
/*
Dichiarare una funzione di callback a
Crea un nuovo array in base alle chiavi e ai valori
dell'array associativo
*/
funzione Modify_assoc_array ($ val1, $ val2)
restituire "Il CGPA di $ Val1 è $ Val2";

eco "

I valori dell'array dopo aver chiamato la funzione array_map ():
";
// Stampa i nuovi valori di array
print_r (array_map ('Modify_assoc_array', array_keys ($ marks), array_values ​​($ marks)));
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Conclusione

I diversi usi della funzione Array_Map () sono stati spiegati in questo tutorial. Speriamo che questo articolo possa aiutare gli utenti PHP a conoscere lo scopo di utilizzare questa funzione e ad applicarla correttamente nel proprio script. Controlla Linuxhint per altri articoli informativi.