PHP: var_dump em forma de tabela
Visualizando as informações de um array em forma de tabela
A pior coisa quando estamos programando em PHP, e precisamos debugar um array é tentar enxergar o valor de cada posição sua.
Código:
$pessoa[0] = "Fulano";
$pessoa[1] = "Cicrano";
$pessoa[2] = "Beltrano";
$pessoa[3] = "Joaquim";
$pessoa[4] = "Manoel";
Saída:
array(5) { [0]=> string(6) "Fulano" [1]=> string(7) "Cicrano" [2]=> string(8) "Beltrano" [3]=> string(7) "Joaquim" [4]=> string(6) "Manoel" }
Seria mais fácil assim:
$echo varDump($pessoa);
0 | 1 | 2 | 3 | 4 |
Fulano | Cicrano | Beltrano | Joaquim | Manoel |
Para "desenhar" esta tabela, utilize a função abaixo:
function varDump($vetor)
{
$html="<table border="1" cellpadding="4" cellspacing="0">".chr(13).chr(10)."<tr>".chr(13).chr(10);
foreach($vetor as $key=>$value)
{
$html.="<td>".$key."</td>".chr(13).chr(10);
}
$html.="</tr></tr>";
foreach($vetor as $key=>$value)
{
$html.="<td>";
if(is_array($value)){$html.=varDump($value);}else{$html.=$value;}
$html.="</td>";
}
$html.="</tr></table>";
return $html;
}
Só para lembrar, a função suporta Arrays multidimensionais (mais conhecido como matrizes), independente do rótulo (key). Dê uma olhada:
Código:
$pessoa[0] = "Fulano";
$pessoa[1] = "Cicrano";
$pessoa[2] = "Beltrano";
$pessoa[3] = "Joaquim";
$pessoa[4] = "Manoel";
$pessoa[5][0] = "Pedro Alvares Cabral";
$pessoa[5][1] = "26 anos";
$pessoa[5][2] = "Santos";
$pessoa["paulista"] = "São Paulo";
$pessoa["carioca"] = "Rio de Janeiro";
$pessoa["paranaense"] = "Paraná";
$echo varDump($pessoa);
Saída:
0 | 1 | 2 | 3 | 4 | 5 | paulista | carioca | paranaense | ||||||
Fulano | Cicrano | Beltrano | Joaquim | Manoel |
|
São Paulo | Rio de Janeiro | Paraná |