Tre tecniche PHP per ottenere il massimo dagli array

Programmazione

Tre tecniche PHP per ottenere il massimo dagli array

by Riccardo
Febbraio 2020

Affina la tua maestria in PHP gestendo gli array in maniera potente e performante.

Php: array più potenti e performanti.

Come tutti i linguaggi di programmazione esistenti nell'ecosistema informatico, anche PHP (acronimo di Hypertext PreProcessor) supporta gli array e la loro manipolazione. Imparare a gestire gli array in maniera ottimale è una caratteristica fondamentale per tutti gli sviluppatori PHP che si rispettino. In questo articolo, scritto con il focus posizionato su questo importante obiettivo, ti presentiamo tre importanti tecniche che ti permetteranno di aumentare in maniera drastica la tua maestria sugli array utilizzando il linguaggio di programmazione server-side per eccellenza.

Ma cosa sono, di preciso, gli array? Gli array sono un tipo di dato più complesso rispetto ai numeri ed alle stringhe (sequenze di caratteri alfanumerici racchiuse tra virgolette doppie), perché permettono di raccogliere una collezione di valori, invece che un valore singolo. Proprio per questo motivo, gli array vengono classificati come dati "vettoriali" in contrapposizione ai più semplici dati "scalari".

Vediamo degli esempi che chiarificano maggiormente questo concetto. Il numero 1 (uno) ed il numero 34 (trentaquattro) sono di fatto due numeri interi. I numeri 1.5 e 34.88 sono invece due numeri a virgola mobile. La parola "Ciao" è una sequenza di caratteri alfanumerici, che nel gergo della programmazione viene definita "stringa". 

Contrariamente, gli array non rappresentano un tipo di dato concreto, come i numeri o le stringhe, ma sono di fatto collezioni di dati eterogenei. Un array può ad esempio contenere i seguenti valori:

$myArray = array("ciao", 13, "riccardo", 45.0);

Come puoi notare, questo array contiene due valori stringa, un valore numerico intero ed un valore numerico a virgola mobile. Vediamo dunque come possiamo lavorare in maniera professionale con questa sequenza di dati.

Tecnica 1: accedere ai valori degli array

I dati degli array sono collezionati in maniera automatica tramite assegnazione interna ad indici numerici progressivi, dove il primo indice ha sempre valore numerico zero. Questo significa che nel nostro esempio precedente:

  • L'indice 0 dell'array $myArray contiene il valore "ciao"
  • L'indice 1 dell'array $myArray contiene il valore 13
  • L'indice 2 dell'array $myArray contiene il valore "riccardo"
  • L'indice 3 dell'array $myArray contiene il valore 45.0

In PHP possiamo accedere ai valori di un array tramite le parentesi quadre:

// stampa "riccardo"
echo $myArray[3]; 

Ora ti svelo un segreto di cui non tutti sono a conoscenza: in PHP abbiamo a disposizione anche gli array associativi! Gli array associativi si distinguono dagli array di base perché presentano delle stringhe al posto dei valori numerici per i propri identificativi, il che rende davvero più semplice la loro gestione. 

Se ad esempio devi registrare le caratteristiche di un utente potrai procedere nel seguente modo:

$myArray = array(
    "nome" => "Riccardo",
    "cognome" => "Degni",
    "età" => 32
);

Ora, per accedere ai singoli valori del nostro array potrai usare le corrispettive parole utilizzate come indice:

// stampa "Riccardo"

echo $myArray["nome"];

Questa modalità è molto più performante rispetto alla precedente, e nel caso in cui l'array rappresenti una struttura di dati coerente e propriamente organizzata, ricordati di utilizzarla!

Ora che sai come si compone correttamente un array, e conosci gli scopi per cui è stato progettato nel mondo della programmazione, sei decisamente pronto per iniziare a manipolare queste interessanti collezioni di dati. 

Tecnica 2: trasformare un array in una parola

La prima delle "magie" offerte da PHP che ti sveliamo in questo articolo è la possibilità di compattare un array di valori in una stringa. Per fare ciò dobbiamo utilizzare il metodo built-in (ovvero già presente nella collezione di funzionalità offerte nativamente da PHP) chiamato "implode". Vediamo come:

$myArray = array("Ciao", "sto" "manipolando", "un", "array");
$string = implode(" ", $myArray);

Il metodo "implode" accetta due parametri: il carattere utilizzato per incollare i valori dell'array, e l'array da compattare. Il codice precedente produce dunque la stringa "Ciao sto manipolando un array".

Tecnica 3: eliminare i doppioni

La seconda "magia" che ti presentiamo riguarda la possibilità di rimuovere i valori duplicati all'interno di un array, come ad esempio nel caso in cui tu voglia scrivere i nomi degli studenti presenti in una classe evitando di includere doppioni nella fase finale di stampa.

Per fare questo PHP mette a disposizione la funzione "array_unique", che tramite un preciso algoritmo di controllo interno, assolve egregiamente al nostro compito nella maniera più performante possibile. Il metodo accetta un array in ingresso e restituisce l'array elaborato privo di doppioni:

$myArray = array("Riccardo", "Andrea", "Elisa", "Andrea", "Davide", "Elisa");

// stampa "Riccardo", "Andrea", "Elisa", "Davide
$noDuplicate = array_unique($myArray);

Conclusione

Ora che hai scoperto i superpoteri degli array offerti da PHP, puoi divertirti nella manipolazione di queste utilissime strutture di dati nella modalità più affine ai tuoi gusti personali. La collezione di metodi offerti dal linguaggio di casa Zend è davvero ampia: buona programmazione!

Vuoi approfondire gli argomenti?
Scegli un corso SinerVis e formati con i professionisti del settore 👇
Riccardo
Docente Sinervis
Nel corso di una carriera quindicinale di studio approfondito e pratica in ambienti reali di produzione, ha perfezionato le skills più moderne e performanti nell'ecosistema di sviluppo Web, dalle tecniche di produzione di codice nativo di qualità fino all'utilizzo di suite, tecnologie e...