Lettura veloce di Array con var_dump e print_r

Gli argomenti di questa pagina

  • Tag HTML <pre>
  • La funzione PHP var_dump()
  • La funzione PHP print_r()
  • Le due funzioni a confronto

Alle volte, lavorando con gli Array (matrici) in maniera dinamica si ha la necessità di leggerne il contenuto per controllare se e quali valori sono stati memorizzati.
PHP ci mette a disposizione due utili funzioni che ci mostra in maniera non formattata le chiavi ed i valori registrati. Queste funzioni sono:

  • funzione PHP var_dump()
  • funzione PHP print_r()

Anche se queste funzioni possono essere usate con le variabili, un uso più intensivo viene fatto con gli Array.

Per rendere più leggibile l'output ottenuto normalmente viene usato il tag HTML <pre>

Tag HTML <pre>

The <pre> tag defines preformatted text.
Text in a <pre> element is displayed in a fixed-width font (usually Courier), and it preserves both spaces and line breaks.

Il tag HTML <pre> permette di visualizzare del testo preformattato.
Il testo in un elemento <pre> viene visualizzato in un font a larghezza fissa (di solito Courier), e conserva gli spazi e le interruzioni di riga.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$stringa 
"
Questa è una stringa
da visualizzare
col tag HTML &lt;pre&gt;.
Questa stringa conserva i ritorno accapo
ed eventuali          spazi tra le parole.
"
;
echo 
"<pre>\n";
echo 
$stringa;
echo 
"</pre>\n";
?>
Questa è una stringa
da visualizzare
col tag HTML <pre>.
Questa stringa conserva i ritorno accapo
ed eventuali          spazi tra le parole.

Se viene usato con gli Array consente di visualizzare chiavi e valori su singole righe.

La funzione PHP var_dump()

La funzione PHP var_dump() viene utilizzato per visualizzare informazioni strutturate (tipo e valore) su una o più variabili o matrici.

Qui di seguito vedremo l'output di una matrice associativa e di una matrice numerica ottenuto senza il tag <pre> e col tag <pre>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$elements 
= array(
    
'Casa' => 'Mattoni'
    
'Finestra' => 'Legno'
    
'Sacco' => 'Plastica'
    
'Coperta' => 'Lana'
    
'Scarpe' => 'Pelle'
);
$amici= array (
    
"Marco",
    
"Giovanni",
    
"Pasquale",
    
"Giuseppe"
    
"Nicola",
    
"Luisa",
    
"Ivo",
    
"Maria"
);
//    ====================================
var_dump($elements);
echo 
"<hr />\n";
var_dump($amici);
?>
array(5) { ["Casa"]=> string(7) "Mattoni" ["Finestra"]=> string(5) "Legno" ["Sacco"]=> string(8) "Plastica" ["Coperta"]=> string(4) "Lana" ["Scarpe"]=> string(5) "Pelle" }
array(8) { [0]=> string(5) "Marco" [1]=> string(8) "Giovanni" [2]=> string(8) "Pasquale" [3]=> string(8) "Giuseppe" [4]=> string(6) "Nicola" [5]=> string(5) "Luisa" [6]=> string(3) "Ivo" [7]=> string(5) "Maria" }

ora vediamo l'output delle stesse matrici usando il tag HTML <pre>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$elements 
= array(
    
'Casa' => 'Mattoni'
    
'Finestra' => 'Legno'
    
'Sacco' => 'Plastica'
    
'Coperta' => 'Lana'
    
'Scarpe' => 'Pelle'
);
$amici= array (
    
"Marco",
    
"Giovanni",
    
"Pasquale",
    
"Giuseppe"
    
"Nicola",
    
"Luisa",
    
"Ivo",
    
"Maria"
);
//    ====================================
echo "<pre>\n";
var_dump($elements);
echo 
"</pre>\n";
echo 
"<hr />\n";
echo 
"<pre>\n";
var_dump($amici);
echo 
"</pre>\n";
?>
array(5) {
  ["Casa"]=>
  string(7) "Mattoni"
  ["Finestra"]=>
  string(5) "Legno"
  ["Sacco"]=>
  string(8) "Plastica"
  ["Coperta"]=>
  string(4) "Lana"
  ["Scarpe"]=>
  string(5) "Pelle"
}

array(8) {
  [0]=>
  string(5) "Marco"
  [1]=>
  string(8) "Giovanni"
  [2]=>
  string(8) "Pasquale"
  [3]=>
  string(8) "Giuseppe"
  [4]=>
  string(6) "Nicola"
  [5]=>
  string(5) "Luisa"
  [6]=>
  string(3) "Ivo"
  [7]=>
  string(5) "Maria"
}

La funzione PHP print_r()

La funzione PHP print_r() viene utilizzato per stampare informazioni leggibili relative a una variabile o un Array.
Se la variabile è un numero intero o un float o una stringa la funzione restituisce il valore della variabile. Se la variabile è un array la funzione restituisce chiavi ed elementi, analogamente notazione è utilizzata per oggetto.

Per la visualizzazione veloce di una matrice associativa o numerica con la funzione PHP print_r() usiamo lo stesso schema usato sopra. Quindi ora vediamo senza il tag HTML <pre>.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$elements 
= array(
    
'Casa' => 'Mattoni'
    
'Finestra' => 'Legno'
    
'Sacco' => 'Plastica'
    
'Coperta' => 'Lana'
    
'Scarpe' => 'Pelle'
);
$amici= array (
    
"Marco",
    
"Giovanni",
    
"Pasquale",
    
"Giuseppe"
    
"Nicola",
    
"Luisa",
    
"Ivo",
    
"Maria"
);
//    ====================================
print_r($elements);
echo 
"<hr />\n";
print_r($amici);
?>
Array ( [Casa] => Mattoni [Finestra] => Legno [Sacco] => Plastica [Coperta] => Lana [Scarpe] => Pelle )
Array ( [0] => Marco [1] => Giovanni [2] => Pasquale [3] => Giuseppe [4] => Nicola [5] => Luisa [6] => Ivo [7] => Maria )

Ed ora col tag <pre>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$elements 
= array(
    
'Casa' => 'Mattoni'
    
'Finestra' => 'Legno'
    
'Sacco' => 'Plastica'
    
'Coperta' => 'Lana'
    
'Scarpe' => 'Pelle'
);
$amici= array (
    
"Marco",
    
"Giovanni",
    
"Pasquale",
    
"Giuseppe"
    
"Nicola",
    
"Luisa",
    
"Ivo",
    
"Maria"
);
//    ====================================
echo "<pre>\n";
print_r($elements);
echo 
"</pre>\n";
echo 
"<hr />\n";
echo 
"<pre>\n";
print_r($amici);
echo 
"</pre>\n";
?>
Array
(
    [Casa] => Mattoni
    [Finestra] => Legno
    [Sacco] => Plastica
    [Coperta] => Lana
    [Scarpe] => Pelle
)

Array
(
    [0] => Marco
    [1] => Giovanni
    [2] => Pasquale
    [3] => Giuseppe
    [4] => Nicola
    [5] => Luisa
    [6] => Ivo
    [7] => Maria
)

Le due funzioni a confronto

Ora per evidenziare la differenza tra le due funzioni le vedremo affiancate nello stesso riquadro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
$elements 
= array(
    
'Casa' => 'Mattoni'
    
'Finestra' => 'Legno'
    
'Sacco' => 'Plastica'
    
'Coperta' => 'Lana'
    
'Scarpe' => 'Pelle'
);
$amici= array (
    
"Marco",
    
"Giovanni",
    
"Pasquale",
    
"Giuseppe"
    
"Nicola",
    
"Luisa",
    
"Ivo",
    
"Maria"
);
?>
<table class="tabella_it">
<tr>
<th colspan="2">Array associativi</th>
</tr>
<tr>
<td>
<?php
echo "<pre>\n";
var_dump($elements);
echo 
"</pre>\n";
?>
</td>
<td>
<?php
echo "<pre>\n";
print_r($elements);
echo 
"</pre>\n";
?>
</td>
</tr>
<tr>
<th colspan="2">Array numerici</th>
</tr>
<tr>
<td>
<?php
echo "<pre>\n";
var_dump($amici);
echo 
"</pre>\n";
?>
</td>
<td>
<?php
echo "<pre>\n";
print_r($amici);
echo 
"</pre>\n";
?>
</td>
</tr>
</table>
Array associativi
array(5) {
  ["Casa"]=>
  string(7) "Mattoni"
  ["Finestra"]=>
  string(5) "Legno"
  ["Sacco"]=>
  string(8) "Plastica"
  ["Coperta"]=>
  string(4) "Lana"
  ["Scarpe"]=>
  string(5) "Pelle"
}
Array
(
    [Casa] => Mattoni
    [Finestra] => Legno
    [Sacco] => Plastica
    [Coperta] => Lana
    [Scarpe] => Pelle
)
Array numerici
array(8) {
  [0]=>
  string(5) "Marco"
  [1]=>
  string(8) "Giovanni"
  [2]=>
  string(8) "Pasquale"
  [3]=>
  string(8) "Giuseppe"
  [4]=>
  string(6) "Nicola"
  [5]=>
  string(5) "Luisa"
  [6]=>
  string(3) "Ivo"
  [7]=>
  string(5) "Maria"
}
Array
(
    [0] => Marco
    [1] => Giovanni
    [2] => Pasquale
    [3] => Giuseppe
    [4] => Nicola
    [5] => Luisa
    [6] => Ivo
    [7] => Maria
)

 

 



settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum