Introduzione
La funzione array_map()
in PHP è uno strumento potente che permette di applicare una funzione a tutti gli elementi di uno o più array. Questo rende il processo di manipolazione dei dati più efficiente e leggibile.
Spiegazione
La funzione array_map()
accetta come primo parametro una funzione di callback e uno o più array come ulteriori parametri. La funzione di callback viene applicata a ciascun elemento degli array forniti, e il risultato è un nuovo array che contiene i valori restituiti dalla callback. Se vengono forniti più array, la callback riceve come argomenti i valori corrispondenti degli array forniti.
Quando si utilizza
Utilizzare array_map()
è particolarmente utile quando si desidera applicare la stessa operazione a tutti gli elementi di un array. È ideale per operazioni come la trasformazione di dati, la pulizia di input, o l’applicazione di una funzione a un’intera serie di valori senza dover scrivere un ciclo esplicito.
Esempi
Esempio 1: Convertire tutti gli elementi di un array in maiuscolo
<?php
$nomi = ["mario", "luigi", "peach"];
$nomi_maiuscoli = array_map('strtoupper', $nomi);
print_r($nomi_maiuscoli);
?>
In questo esempio, array_map()
applica la funzione strtoupper
a ciascun elemento dell’array $nomi
, restituendo un nuovo array con tutti i nomi in maiuscolo.
Esempio 2: Sommare elementi di due array
<?php
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];
$somma = array_map(function($a, $b) {
return $a + $b;
}, $array1, $array2);
print_r($somma);
?>
Qui, array_map()
utilizza una funzione anonima per sommare gli elementi corrispondenti di $array1
e $array2
, producendo un nuovo array contenente la somma di ciascuna coppia di elementi.
Esempio 3: Manipolazione complessa con più array
<?php
$numeri = [1, 2, 3];
$moltiplicatori = [2, 3, 4];
$risultato = array_map(function($numero, $moltiplicatore) {
return $numero * $moltiplicatore;
}, $numeri, $moltiplicatori);
print_r($risultato);
?>
In questo esempio, array_map()
applica una funzione di moltiplicazione a ciascuna coppia di valori provenienti dagli array $numeri
e $moltiplicatori
. Il risultato è un array contenente il prodotto di ciascuna coppia di elementi.
Giorgio
Sono un Web Developer con oltre 20 anni di esperienza nello sviluppo di applicazioni web complesse. Specializzato in PHP, gestione di database relazionali e non relazionali, e integrazione di API, realizzo soluzioni robuste e scalabili per soddisfare esigenze aziendali e tecniche. Mi occupo di architetture server-side, ottimizzazione delle performance e automazione dei processi.