HOWTO · PHP
Echo o stampa un array in PHP
Questo articolo spiega come visualizzare o stampare un array in PHP. Presenta tre metodi: il ciclo foreach, la funzione print_r() e la funzione var_dump().
In questa pagina
Non è possibile passare direttamente un array a echo per visualizzarne i valori come elenco leggibile. In PHP, usa foreach per formattare ogni valore, print_r() per una rappresentazione leggibile con le chiavi oppure var_dump() per esaminare dettagli diagnostici, come i tipi dei valori. Gli esempi seguenti usano lo stesso elenco di fiori per consentire il confronto. Le etichette e l’output degli esempi restano in inglese perché i blocchi di codice sono invariati.
Usare il ciclo foreach per visualizzare o stampare un array in PHP
Un ciclo foreach assegna ogni valore dell’array a una variabile di ciclo, un elemento alla volta. La variabile è disponibile all’interno del corpo del ciclo: puoi passarla a echo, aggiungere etichette o applicare altre formattazioni. Il ciclo gestisce l’iterazione sull’array, quindi non è necessario avanzare manualmente un puntatore.
Esegui questo esempio:
Il codice e le etichette o gli output visibili in questa sezione restano in inglese.
<?php
$flowers = ["Rose", "Lili", "Jasmine", "Hibiscus", "Tulip", "Sun Flower", "Daffodil", "Daisy"];
echo "The array is:\n";
foreach ($flowers as $flower) {
echo $flower . "\n";
}
?>
The array is:
Rose
Lili
Jasmine
Hibiscus
Tulip
Sun Flower
Daffodil
Daisy
Questo stampa soltanto i valori, nell’ordine di iterazione. Se ti serve anche ciascuna chiave, usa la forma key => value di foreach; l’esempio attuale usa un array indicizzato numericamente, quindi i valori vengono mostrati senza etichette per gli indici.
Usare la funzione print_r() per visualizzare o stampare un array in PHP
print_r() produce una rappresentazione leggibile che include ogni chiave dell’array e il valore associato. È utile quando vuoi esaminare il contenuto complessivo senza scrivere un ciclo o formattare ogni elemento. Il secondo argomento, spesso chiamato parametro di restituzione, è facoltativo e ha valore predefinito false: la funzione stampa la rappresentazione. Se passi true, invece, restituisce la rappresentazione come stringa, che puoi salvare o combinare con altro testo.
Il codice e le etichette o gli output visibili in questa sezione restano in inglese.
<?php
$flowers = ["Rose", "Lili", "Jasmine", "Hibiscus", "Tulip", "Sun Flower", "Daffodil", "Daisy"];
print_r($flowers);
?>
Array
(
[0] => Rose
[1] => Lili
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)
Per esempio, $representation = print_r($flowers, true); memorizza il testo formattato invece di stamparlo subito. Scegli questo approccio per ottenere una vista compatta e leggibile; non indica il tipo PHP di ciascun valore.
Usare la funzione var_dump() per visualizzare o stampare un array in PHP
var_dump() è pensata per il debug. Emette una rappresentazione diagnostica che mostra la dimensione dell’array, le chiavi, i tipi dei valori e le lunghezze delle stringhe. A differenza di print_r(), non restituisce quella rappresentazione come stringa per l’uso ordinario: il suo valore di ritorno non è il testo diagnostico formattato. È quindi utile per controllare quali valori contiene PHP, ma meno adatta all’output destinato agli utenti.
Il codice e le etichette o gli output visibili in questa sezione restano in inglese.
<?php
$flowers = ["Rose", "Lili", "Jasmine", "Hibiscus", "Tulip", "Sun Flower", "Daffodil", "Daisy"];
var_dump($flowers);
?>
array(8) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(5) "Tulip"
[5]=>
string(10) "Sun Flower"
[6]=>
string(8) "Daffodil"
[7]=>
string(5) "Daisy"
}
Usa foreach quando vuoi controllare come vengono visualizzati i valori, print_r() per una panoramica leggibile di chiavi e valori e var_dump() per esaminare tipi e lunghezze durante il debug. Questi esempi mostrano valori stringa semplici; per gli array annidati, le funzioni di ispezione rappresentano anche il contenuto interno, mentre con foreach devi decidere come iterarli per applicare una formattazione personalizzata.