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.