PHP Arrays · 13 min read · Nov 18, 2025

Guida Dettagliata Sugli Array In PHP

Guida Dettagliata Sugli Array In PHP

Buona giornata!

Ecco un altro articolo della serie Fast PHP Articles. Oggi discuteremo degli ARRAY. Impareremo la sua sintassi, i suoi diversi tipi, le diverse funzioni integrate degli array che aiutano a eseguire rapidamente diversi compiti relativi agli array e diversi esempi pratici che spiegano l’uso degli array in PHP.

Entro la fine di questo articolo dovresti essere in grado di:

- Definire gli Array

  • Usare diversi tipi di Array
  • Usare diverse funzioni integrate relative agli Array ad esempio list(), each(), var_dump, print_r, var_export()

- Scrivere codice PHP di base e complesso usando gli Array.

  • Lavorare con array multidimensionali
  • Comprendere il ciclo Foreach con l’aiuto di diversi esempi

Ma prima di discutere degli array, lasciami raccontare una storia molto interessante.

Ho un negozio di DVD vicino al mio ufficio che ha una collezione molto buona di film in inglese. Puoi trovare film su quasi tutti i generi, ad esempio film d’azione, film horror, film romantici (hhhhh - ‘profondo respiro’), drammi, opere teatrali, film religiosi e così via….

Il proprietario del negozio non è una persona molto istruita, ma riesce comunque a gestire facilmente più di 20.000 DVD e può estrarre il film non appena dici il suo nome… hmm, il punto è: come fa a farlo?

Bene, ho analizzato la sua strategia e lasciami rivelare questo grande segreto per organizzare un insieme di oggetti con un metodo speciale per gestirli facilmente.

Ha categorizzato tutti i DVD in diversi generi come abbiamo discusso sopra e ha anche dato ID / codici / numeri speciali a diverse mensole nel suo negozio. Tiene i film correlati sulle stesse mensole. Ogni mensola è etichettata con il nome della categoria, ad esempio Film Romantici, Film Horror, ecc. ecc… Ogni DVD ha un ID unico che può essere utilizzato per tracciare quel DVD.

Quando un cliente chiede un film, ad esempio Double Team, si sposta rapidamente sulla mensola etichettata come Film d’Azione, poi sulla RIGA etichettata come ‘D’ che significa film i cui nomi iniziano con ‘D’ e poi raggiunge rapidamente la sequenza di ‘D’ seguita da ‘O’ e arriva al film DOUBLE TEAM. E memorizza gli ID dei DVD famosi, quindi quando glielo chiedi ti dirà di prendere il DVD # xxxx dalla mensola etichettata con QUESTO NOME e puoi prenderlo direttamente da lì.

E tutto questo viene fatto così rapidamente che sembra magia ottenere un DVD specifico da una grande collezione così rapidamente. Quindi, se mai inizi a gestire un negozio di DVD, fai quanto segue per ORGANIZZARE I TUOI DVD:

a) Tieni i DVD simili sulla stessa mensola.
b) Etichetta ogni categoria con il suo nome.
c) Etichetta le RIGHE dei DVD.
d) Assegna ID a tutti i DVD.

Prendiamo la morale di questa storia e torniamo al mondo dei computer.

In programmazione, a volte devi gestire diversi valori correlati che sono legati insieme in modi diversi. Ad esempio, Nomi dei primi cinque studenti, Modelli di auto Porsche, Variabili inviate da un modulo e così via. In tali condizioni, devi organizzare il tuo codice e la tua logica per gestire in modo efficiente e rapido dati simili. A questo scopo puoi utilizzare la logica del venditore di DVD:

  1. Organizzare i dati in diverse categorie legate insieme.
  2. Etichettare le RIGHE.
  3. Assegnare ID unici a ciascun valore di dati.

Ci possono essere diverse tecniche per farlo e una di esse è gli ARRAY.

Definizione Grezza di Array: Una scatola che ti aiuta a tenere insieme dati simili / dati di stesso interesse per una migliore organizzazione e elaborazione.

Definizione Corretta di Array:

“Collezione di diverse variabili sotto la stessa etichetta per mantenere i valori organizzati e facilmente accessibili per l’elaborazione.”

Sì, è la mia definizione personale di array e mi riservo il diritto di definire qualsiasi cosa con le mie parole finché il concetto di base è corretto e puoi capire di cosa sto parlando.

Anche se alcuni definiscono gli array come “è un tipo di variabile che contiene più variabili al suo interno”.

Si prega di ricordare che PHP gestisce le variabili normali e gli array in modo leggermente diverso.

Sintassi dell’Array:

$arrayName = array ("value1?","value2?","value3?");

Usiamo il segno $ per dare un nome all’array come facciamo per le variabili, dopo di che un segno uguale e poi la parola chiave ‘array’ che dice al parser che stiamo lavorando con gli array e poi diversi valori all’interno delle parentesi e ogni valore racchiuso tra virgolette doppie separati da virgola.

Esempio PHP per definire e stampare array:

$Top3Sites = array (“fastcreators.com”,”howtoforge.com”,”scriptsbible.com”);

print_r($Top3Sites);
?>

L’output del programma sopra sarà:

Array
(
[0] => fastcreators.com
[1] => howtoforge.com
[2] => scriptsbible.com
)

Si prega di notare che utilizziamo print_r per stampare un array perché non puoi stampare un array con la funzione echo o print (entrambe sono utilizzate per visualizzare l’output), anche se puoi usare echo o print per visualizzare singoli elementi dall’array, ad esempio:

echo $Top3Sites[0]; //fastcreators.com

Ricorda che il numero dell’indice inizia da 0 e non da 1.

Ogni valore dell’array ottiene un ID unico che è noto come NUMERO D’INDICE.

L’altro modo potrebbe essere definire tre variabili diverse e poi assegnare loro valori e usare diverse istruzioni per visualizzarli. Potrebbe essere accettabile nel caso di tre valori per il bene dell’argomento, anche se sarà rifiutato quando trattiamo con cinquanta o cento valori.

Quindi gli array sono più organizzati e possono servire a raccogliere i diversi valori sotto la stessa etichetta per un’elaborazione rapida.

Nell’esempio sopra abbiamo definito e assegnato valori all’array in un singolo passaggio, anche se puoi farlo anche come segue:

$students = array(); //definire solo un array

//assegnazione dei valori  

$students[0] = “Haroon”;
$students[1] = “Celine”;
$students[3] = “Jennifer”;
$students[4] = “Bobby”;

?>

Tipi di Array:

Ci sono tre diversi tipi di array in PHP:

a) Array Numerici: Un array con una chiave ID numerica.
b) Array Associativi: Un array in cui ogni chiave ID è associata a un valore.
c) Array Multidimensionali: Un array che contiene uno o più array.

Ora discutiamo i diversi tipi di array in dettaglio.

Array Numerici: Gli array numerici utilizzano numeri interi come loro numero di indice per identificare ciascun elemento dell’array. L’esempio che abbiamo discusso sopra è un array numerico poiché ha valori interi come numeri di indice per ciascun elemento.

$colours = array(“white”,”black”,”blue”);

print_r($colours);

/*
output sarà

Array
(
[0] => white
[1] => black
[2] => blue
)
*/
?>

Nell’output sopra puoi vedere che i numeri di indice per white, black e blue sono 0,1,2 rispettivamente, che sono valori numerici e quindi chiamiamo tali array array numerici.

Array Associativi:

A volte è meglio usare il nome dell’indice invece del numero dell’indice, ad esempio se vuoi salvare i nomi e i numeri di tre studenti, la tua migliore opzione sarà usare il nome di ciascun studente come valore dell’indice per l’array e i suoi numeri come valori, guarda l’esempio qui sotto,

$students[‘Anna’] = 90;
$students[‘Maria’] = 60;
$students[‘Jennifer’] = 40;

?>

Quando invii un modulo utilizzando il metodo POST o GET, ottieni un array associativo simile nella pagina di ricezione che contiene il nome di ciascun campo del modulo come indice dell’array e il suo valore come valore dell’indice. Prova a creare un modulo HTML con alcuni campi e invialo e nella pagina di ricezione stampa gli array globali come

print_r($_POST);
print_r($_GET);

e vedrai l’array associativo.

Gli Array Associativi sono più facili da gestire e da elaborare informazioni, specialmente quando si tratta di invio di moduli complessi e valori dinamici da database ecc.

Array Multidimensionali:

Un array multidimensionale può contenere array al suo interno e i sotto-array contengono più array al loro interno.

Passiamo a un esempio del mondo reale per comprendere il concetto di array multidimensionali:

David ha due figli, Richie e Mason. Richie ha due figlie, Sue e Natasha, mentre Mason ha tre figlie, Nichole, Salma e Amber.

Ora l’albero genealogico della famiglia è il seguente:

array multidimensionali

Se vogliamo visualizzare l’albero genealogico di David con un array multidimensionale in PHP, possiamo definire un array come segue:

$david = array
(
“richie”=>array
(
“Sue”,
“Natasha”
),

“Mason”=>array
(
“Nichole”,
“Salma”,
“Amber”
)

);

Questo è come puoi usare gli array multidimensionali per organizzare i dati. Prova a inviare un array di campi del modulo e poi stampa l’array globale per controllare l’output, otterrai l’array globale come array multidimensionale che conterrà più sotto-array.

CICLO FOREACH: Se ricordi nel mio ultimo articolo su “Cicli In PHP” avevo lasciato il CICLO FOREACH da discutere in seguito e ora è giunto il momento di discuterne.

Il ciclo Foreach è utilizzato per gli array per prendere ciascun valore successivo dall’array e eseguire qualsiasi azione sia necessaria su di esso.

La sintassi di base di un ciclo foreach è la seguente:

Sintassi FOREACH:

foreach ( $arrayname as $temporaryVarName ) { 

// corpo del ciclo foreach
//$temporaryVarName contiene i valori dell’array e
//ad ogni esecuzione del ciclo prenderà il valore successivo disponibile dall’array
}

Scriviamo un programma utilizzando un ciclo foreach per comprendere il suo funzionamento in profondità:

$students = array(); // definire l’array studenti

//assegnazione dei valori

$students[0] = “david”;
$students[1] = “kevin”;
$students[2] = “julie”;
$students[3] = “nayyar”;

/
ora utilizzeremo il ciclo foreach per visualizzare tutti i nomi degli studenti ossia i valori dell’array in un colpo solo
/

foreach ( $students as $std_name ) {

echo $std_name . “\n”;
}

?>

Nel codice sopra, $std_name funziona come variabile temporanea per ottenere ciascun valore dell’array. Ad ogni esecuzione del ciclo, il valore successivo disponibile dell’array sovrascrive il valore esistente di $std_name e poi $std_name punta al valore attualmente recuperato. Quindi è proprio come camminare attraverso i valori del tuo array uno per uno.

L’output del codice sopra sarà:

david
kevin
julie
nayyar

poiché stiamo usando \n (a capo) per visualizzare ogni nome sulla riga successiva.

Il ciclo foreach termina quando non c’è più valore disponibile, cioè raggiunge l’ultimo valore dell’array che è NAYYAR nel nostro caso.

Puoi interrompere il ciclo in qualsiasi momento utilizzando l’istruzione break se necessario (abbiamo discusso dell’istruzione break nella DECISIONE UTILIZZANDO SWITCH IN PHP).

Ad esempio, se vuoi interrompere il ciclo se il nome è julie, puoi includere un’istruzione IF nel codice sopra come segue:

foreach ( $students as $std_name ) {

if($std_name == “julie”) break;
echo $std_name . “\n”;
}

?>

Abbiamo alcune altre funzioni molto utili che possono lavorare con gli array per darti un’elaborazione rapida degli array per fornire risultati efficienti. Alcune di esse sono discusse di seguito:

Funzioni Importanti per gli Array:

1) Salva l’output della funzione print_r: abbiamo
precedentemente utilizzato print_r per visualizzare i valori dell’array, anche se possiamo aggiungere un argomento extra a print_r e salvare il suo output in una variabile, ad esempio:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$output = print_r($myarray, true);
print $output;
?>

La print_r visualizzerà l’array stesso se non utilizzi TRUE -
il secondo argomento, tuttavia memorizzerà il suo output nella variabile se viene fornito TRUE.

2) Come trovare la dimensione di un Array? La dimensione di un
array significa quanti valori contiene un array… se vuoi trovare il numero di valori di un array puoi usare la funzione COUNT come segue:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$size = count($myarray);
print $size; // 3
?>

Il programma sopra visualizzerà 3 perché abbiamo tre elementi nell’array.

3) Funzione var_dump:

C’è una funzione simile a print_r(), che è var_dump(). Fa sostanzialmente la stessa cosa, ma

a) stampa le dimensioni delle variabili,
b) non stampa i dati non pubblici negli oggetti, e
c) non ha l’opzione di passare un secondo parametro per restituire il suo output.

Ad esempio, modificando il primo script per utilizzare var_dump() piuttosto che print_r() darebbe il seguente output:

array(3) {
[0]=>
string(6) “Apples”
[1]=>
string(7) “Oranges”
[2]=>
string(5) “Pears”
}

Qui puoi vedere che var_dump() ci ha detto che l’array ha tre valori e stampa anche le lunghezze di ciascuna delle stringhe. Per scopi didattici, var_dump() è migliore poiché mostra le dimensioni delle variabili, tuttavia probabilmente vorrai usare print_r() nel tuo lavoro.

4) Funzione var_export:

Inoltre, c’è la funzione var_export(), che è simile sia a var_dump() che a print_r(). La principale differenza con var_export(), tuttavia, è che stampa le informazioni sulle variabili in uno stile che può essere utilizzato come codice PHP. Ad esempio, se avessimo usato var_export() invece di print_r() nello script di test, avrebbe prodotto il seguente output:

array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
)

Nota che c’è una virgola extra dopo l’ultimo elemento, tuttavia questa viene ignorata da PHP e puoi copiare e incollare quelle informazioni direttamente nei tuoi script, in questo modo:

$foo = array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
);
?>

5) Funzione array_shift:

La funzione array_shift rimuove il primo elemento di un array dall’array e lo memorizza nella variabile di ricezione.

Ad esempio, se voglio rimuovere Apples dall’array utilizzato nei programmi precedenti e memorizzarlo in una variabile diversa, posso scrivere un programma come segue:

$myarray = array(“Apples”, “Oranges”, “Pears”);
$fruit = array_shift($myarray);
echo $fruit; // Apples
print_r($myarray); // Oranges e Pears verranno visualizzati senza Apples
?>

È una funzione molto utile se hai un array multidimensionale inviato da un modulo e vuoi recuperare il sotto-array dall’array principale. Ma ricorda che quando estrai un sotto-array dall’array principale utilizzando array_shift, le variabili di ricezione ($fruit nel precedente) non saranno una variabile normale ma un array.

Ti consiglio anche di studiare altre tre funzioni utili relative a array_shift nel Manuale Ufficiale di PHP su

array_unshift
array_pop
array_push

PHP offre un elenco molto lungo di diverse funzioni utili per gli array che puoi trovare nel MANUALE UFFICIALE DI PHP.

Una cosa che voglio menzionare qui è che il ciclo foreach non è l’unico modo per elaborare gli array - puoi farlo utilizzando altri cicli, ad esempio il CICLO FOR o le funzioni list() e each().

Per elaborare un array, dovrai trovare il numero totale dei valori nell’array, cioè la dimensione dell’array come segue:

for ($i = 0; $i < count($array); ++$i) {
print $array[$i];
}
?>

Questo funzionerà bene per gli array numerici che hanno valori interi come numeri di indice, ma non si adatta agli array associativi.

Elaborare gli Array con la funzione LIST():

PHP offre la funzione LIST() che può essere utilizzata per scorrere i valori dell’array facilmente e rapidamente come segue:

while (list($var, $val) = each($array)) {
print “$var è $val\n”;
}
?>

List() è una funzione che fa l’opposto di array() - prende un array e lo converte in variabili individuali. Each() prende un array come suo parametro e restituisce la chiave e il valore correnti in quell’array prima di avanzare il cursore dell’array. “Cursore dell’array” è il termine tecnico per l’elemento di un array che viene attualmente letto. Tutti gli array hanno un cursore e puoi muoverlo liberamente - viene utilizzato nel ciclo while sopra, dove dobbiamo iterare attraverso un array. Per iniziare, each() restituirà il primo elemento, poi il secondo elemento, poi il terzo e così via, fino a quando non trova che non ci sono più elementi, nel qual caso restituirà false e terminerà il ciclo.

Il significato di quella prima riga è “prendi l’elemento corrente nell’array e assegna la sua chiave a $var e il suo valore a $val, poi avanza il cursore dell’array”.

Ottieni sia l’indice che il valore dell’elemento dell’array: Se vuoi leggere il nome dell’indice così come il suo valore per ciascun elemento dell’array, puoi usare il ciclo foreach come segue:

foreach ($array as $key => $val) {
print “$key = $val\n”;
}

?>

È molto utile quando hai a che fare con array associativi.

Gli array sono un argomento molto profondo e c’è molto di più da discutere e anche
posso facilmente scrivere un intero libro solo sugli array. Ma l’obiettivo di questo articolo è darti una comprensione molto solida degli array e dei diversi metodi per memorizzare ed elaborare informazioni negli array. Tuttavia, se hai domande specifiche sugli array, sentiti libero di inviarmi un’email o commentare questo articolo.

È un lungo articolo, quindi potrebbero esserci alcuni errori di battitura; se ne trovi, ti prego di segnalarmeli in modo che io possa correggerli. Fino a quando non ci incontreremo di nuovo, continua a praticare e abbi cura di te…

  • Haroon Ahmad

Altri Articoli di Questa Serie:

FAST PHP Tutorial (Parte 1)
Come Installare PHP su Windows (Fast PHP Tutorial Parte 2)
Come Installare PHP su Linux
Come Installare Apache su Windows
Installer Facili per Installare PHP, MySQL, Apache su Windows
Nozioni di Base sulla Programmazione PHP
Operatori in PHP
Decisioni utilizzando IF-ELSE in php
Decisioni utilizzando l’Istruzione Switch in PHP
Cicli In PHP

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.