Appunti PHP: manipolazione array

Con questo post riporto alcuni appunti relativi all’utilizzo del PHP. Come per gli appunti SEO, gli appunti PHP sono annotazioni e come tali lungi dall’essere esaustive. Spero possano essere utili anche a qualcun altro 🙂 , buona lettura.
In PHP, con il termine array identifichiamo una struttura dove i dati sono mantenuti grazie ad una associazione chiave –> valore.
Semplificando, possiamo distinguere due tipi principaly di array:

  • Array numerici: utilizzano chiavi numeriche
  • Array associativi: usano stringhe come chiavi

Possiamo creare una array così:

Oppure così:

In entrambi i modi le chiavi (numeriche) vengono create automaticamente: in questo caso da 0 a 4.
Quando utilizziamo array associative possiamo dichiararle in questo modo:

Oppure:

Possiamo parlare invece di array nidificati quando un elemento di un array è a sua volta un array. In questo caso la costruzione non cambia molto:

Leggere il contenuto di un array

In assoluto una delle attività replicate più spesso è la lettura del contenuto di un array. In particolare la lettura a fini di debug, la lettura “semplice” e quella “ricorsiva”.

Per leggere velocemente il contenuto di un array due sono i comandi utili: print_r e var_dump. Entrambe le funzioni si occupano di stampare a video il contenuto di un array, var_dump genera un output più “verboso” rispetto a print_r. Fate una prova:

Per elaborare in modo ricorsivo gli elementi di un array si può utilizzare foreach. Facciamo un esempio:

Nel caso di un array annidato è necessario creare una funzione che chiama se stessa.

Conteggio degli elementi di un array

Per contare quanti elementi contiene un array si può utilizzare la funzione count(). In questo modo:

Composizione/scomposizione di un array

Tramite le funzioni implode() e explode() è possibile ottenere rispettivamente una stringa da un array e viceversa.

Inserimento /eliminazione di elementi da un array

Con array_push() aggiungo un elemento alla fine dell’array:

Con array_shift() estraggo un elemento all’inizio dell’array:

Con array_unshift aggiungo un elemento all’inizio dell’array:

Con array_pop() estraggo un elemento alla fine dell’array:

Con array_splice() si può rimuovere una porzione dell’array e sostituirla con altra:

Aggiungendo un argomento otteniamo anche la sostituzione degli elementi dell’array:

Con array_slice() estraete un sottoinsieme da un array:

Eliminare elementi duplicati da un array

Per eliminare i valori duplicati contenuti in un array si può utilizzare la funzione array_unique():

Reindicizzare un array

Quando si eliminano degli elementi da un array (ad esempio utilizzando unset()) rimangono dei “buchi” nelle chiavi numeriche. Utilizzando array_values() è possibile reindicizzare l’array:

“Mescolare” un array in modo random

Utilizzando shuffle() è possibile reindicizzare in modo random il contenuto di un array

Cercare dentro un array

Rispettivamente con array_key_exists(“chiave”,Array) e in_array(“valore”,Array) possiamo controllare se una data chiave o un dato valore è presente nell’array:

Filtrare un array

A volte è necessario filtrare i valori di un array secondo un qualche criterio array_filter() sottopone ciascun elemento di un array ad una funzione e ne verifica il valore restituito

Uso delle array nei form

Le array risultano particolarmente utili quando abbiamo a che fare con valori multipli passati da un form:

Rispondi