array in php
All, Corso PHP, PHP, Sviluppo

Gli array in php – Impara a programmare in php – Capitolo 9

Gli array in php: uno strumento fondamentale

Benvenuti nel nono capitolo della serie. Nel capitolo precedente abbiamo studiato i cicli, istruzioni di fondamentale importanza per il mondo della programmazione. Oggi ci concentreremo sugli array in php e su quanto questi possano essere versatili e indispensabili.

Gli array in php sono una specie di super variabile che può contenere contemporaneamente più di un dato. Per rendere il concetto facciamo subito un esempio:

<?php

$giorni = array("lunedi","martedi","mercoledi","giovedi","venerdi","sabato","domenica");


?>

Nello specifico la sintassi è veramente semplice, dichiariamo la variabile e associamo all’interno degli apici i giorni. In automatico l’array in php effettuerà un associazione tra elemento ed indice numerico partendo da 0, quindi “lunedi” avrà indice 0, “martedi” indice 1, “mercoledi” indice 2 etc.

Un altro modo per scrivere la stessa cosa è dichiarare l’indice numerico al momento della dichiarazione del valore della variabile:

<?php

$giorni = array();
$giorni[0] = "lunedi";
$giorni[1] = "martedi";
.
.
.
$giorni[7] = "domenica";

?>

Queste sono le due modalità con le quali si può dichiarare un array in php. Va specificato che in questo caso noi abbiamo impostato un indice “numerico” ma possiamo assegnare ad ogni valore anche una stringa.
Poniamo come esempio di dove scrivere l’anagrafica di un cliente:

<?php

$cliente["nome"] = "Mario";
$cliente["cognome"] = "Rossi";
$cliente["azienda"] = "Rossi&amp;co";
$cliente["p.iva"] = "12433234";
 
?>

Lavorare con gli array

Stampare a video un valore

Per lavorare con gli array in php ed identificare un solo elemento all’interno di esso si indica il nome dell’array e l’indice di cui vogliamo estrarre il contenuto.

<?php

$giorni = array("lunedi","martedi","mercoledi","giovedi","venerdi","sabato","domenica");

echo "Oggi è " .$giorni[3]; 
?>

Aggiungere un elemento

Se abbiamo dichiarato il nostro array e successivamente ne volessimo aggiungere un dato al suo interno, potremmo semplicemente dichiarare nuovamente l’array comprensivo di un indice.

$giorni[] = "nuovo giorno";

In questo caso automaticamente php metterà in coda a tutti gli altri la nuova dichiarazione, ma è possibile anche specificare l’indice se vogliamo effettuare operazioni più mirate.

Sostituire un valore

Se l’aggiunta di un valore non è di vostro aiuto ma volessimo sostituire un valore all’interno del nostro array, basterà dichiarare l’array con l’indice corrispondente al valore che vogliamo cambiare. Come una semplice dichiarazione di variabile:

$giorni[3] = "nuovo giorno"; //verrà sostituito mercoledi con nuovo giorno

Eliminare un valore

Se vogliamo eliminare un valore presente all’interno del nostro array possiamo utilizzare la funzione unset() dichiarando al suo interno l’array con l’indice corrispondente.

unset($giorni[8]); //questo comando eliminerà nuovo giorno dall'array

Contare gli elementi

Nello sviluppo di un progetto molto probabilmente i nostri array avranno al loro interno decine e decine di dati per questo è molto utile avere la funziona count() che ci permette di contare gli elementi del nostro array.

$conta_giorni = $count($giorni);

Cicli con gli array

Nel caso precedente abbiamo pochi dati ma se, come indicato prima, avessimo un array con numerosi elementi le operazioni su di esso sarebbero veramente difficili. Facciamo l’esempio che volessimo stampare a video tutti gli elementi degli array non sarebbe conveniente stampare a mano ogni singolo indice, cosi possiamo sfruttare la potenza del php integrando la funzione count() con il ciclo for.

<?php

$giorni = array("lunedi","martedi","mercoledi","giovedi","venerdi","sabato","domenica");

$conteggio_giorni = count($giorni);

for($i=0;$i<$conteggio_giorni; $i++){
    echo $giorni[$i];
}
?>

Per semplificare decisamente la stampa di ogni singolo record del nostro array possiamo utilizzare il ciclo foreach, vediamo come:

<?php

$giorni = array("lunedi","martedi","mercoledi","giovedi","venerdi","sabato","domenica");

foreach ($giorni as $giorno) {
    echo $giorno;

}
?>

Il risultato sarà il medesimo dell’esempio precedente.

Come sempre per dubbi e curiosità commenta o scrivimi. Alla prossima lezione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *