Leobreda.net

Web, .Net,
SQL, Cloud...

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
0 1 2
Pedro Alvares Cabral 26 anos Santos
São Paulo Rio de Janeiro Paraná



Acessar todos os artigos »