Corsi on-line

array_column(): una funzione PHP per manipolare gli array multidimensionali?

Attualmente la funzione array_column() (ma potrebbe chiamarsi anche “array_pluck()“) non è disponibile in PHP, neanche nella versione 5.4.x che è l’ultimo aggiornamento del linguaggio; probabilmente essa verrà introdotta con la release 5.5, ma per il momento è poco più di una proposta al vaglio degli sviluppatori e della community che si riunisce intorno alla creatura di Rasmus Lerdorf.

Nello specifico, l’idea promossa da Ben Ramsey di PHP.net, è quella di introdurre una funzione che sia in grado di restituire il valori di una determinata colonna da un vettore di tipo multidimensionale; si tratterebbe quindi di una feature il cui funzionamento dovrebbe essere ispirato a metodi per la manipolazione di dati archiviati in tabelle di database, come per esempio PDOStatement::fetchColumn().

La funzione dovrebbe acettare due parametri:

  1. un input: cioè un array multidimensionale;
  2. una chiave: cioè la colonna che presenta i valori indicizzati da restituire (anche se ricompresi in array associativi).

In pratica, dato un array basato sul seguente modello:

$springfield = array(
array(1, 'Homer', 'Simpson'),
array(2, 'Clancy', 'Winchester'),
array(3, 'Apu', 'Nahasapeemapetilon')
);

Avremo un vettore a più dimensioni recante tre colonne, con indice da “0” a “2”, che potremmo chiamare per semplicità “id”, “nomi” e “cognomi”; ora con array_column() dovrebbe per esempio essere possibile estrarre i valori relativi alla seconda colonna nel modo seguente:

$personaggi = array_column($springfield, 1);

La stampa dell’array così ottenuto dovrebbe quindi restituire:

Array
(
[0] => Homer
[1] => Clancy
[2] => Apu
)

In un post di prossima pubblicazione vedremo come potrebbe essere possibile utilizzare questa funzione per la manipolazione dei recordset di basi di dati.

Post correlati
I più letti del mese
Tematiche