Forum und email

print_r

(PHP 4, PHP 5)

print_r — Stampa informazioni relative al contenuto di una variabile in formato leggibile

Descrizione

bool print_r ( mixed $expression [, bool $return ] )

Nota: Il parametro return è stato aggiunto in PHP 4.3.0.

Questa funzione stampa delle informazioni sul contenuto di una variabile in un formato facilmente leggibile. Se la variabile contiene una stringa, un intero o un numero decimale, il valore stesso viene visualizzato. Se la variabile contiene un array i valori vengono visualizzati in un formato che evidenzia le chiavi ed i relativi elementi. Una notazione simile viene utilizzata per gli oggetti. Le funzioni print_r() e var_export(), a differenza di var_dump(), visualizzano le proprietà protette e private degli oggetti di PHP 5.

Occorre ricordarsi che print_r() posiziona il puntatore dell'array alla fine. Pertanto utilizzare reset() per riportarsi all'inizio.

<pre>
<?php
    $a 
= array ('a' => 'apple''b' => 'banana''c' => array ('x','y','z'));
    
print_r ($a);
?>
</pre>

Il precedente esempio visualizzerà:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Se si desidera catturare l'output di print_r(), occorre utilizzare il parametro return . Se questo viene impostato a TRUE, print_r() restituirà l'output anzichè visualizzarlo (come accade per default).

Example#1 Esempio dell'uso di return

<?php 
    $b 
= array ('m' => 'monkey''foo' => 'bar''x' => array ('x''y''z')); 
    
$results print_r($btrue); //$results ora contiene l'output di print_r 
?>

Nota: Se occorre catturare l'output di print_r() con versioni di PHP precedenti alla 4.3.0, occorre utlizzare le funzioni di controllo dell'output.

Nota: Questa funzione continua all'infinito se riceve come parametro un vettore o un oggetto contenente un riferimento diretto od indiretto a se stesso oppure contenente ulteriori vettori o oggetti che a loro volta referenziano il padre o se stessi. Un caso evidente è print_r($GLOBALS), in quanto $GLOBALS è a sua volta una variabile globale e in quanto tale contiene una referenza a se stessa.

Vedere anche ob_start(), var_dump() e var_export().