una tabla recorrer multidimensional matriz matrices llenar imprimir hacer ejemplos con como array 3x3 php sql

php - tabla - Mostrar una matriz en un formato legible/jerárquico



matrices en php (17)

Creo que var_export() , el hermano olvidado de var_dump() tiene el mejor resultado, es más compacto:

echo "<pre>"; var_export($menue); echo "</pre>";

Por cierto: no es necesario usar <pre> . var_dump() y var_export() ya están formateados cuando var_export() un vistazo al código fuente de tu página web.

Aquí está el código para extraer los datos de mi matriz

<?php $link = mysqli_connect(''localhost'', ''root'', '''', ''mutli_page_form''); $query = "SELECT * FROM wills_children WHERE will=73"; $result = mysqli_query($link, $query) or die(mysqli_error($link)); if ($result = mysqli_query($link, $query)) { /* fetch associative array */ if($row = mysqli_fetch_assoc($result)) { $data = unserialize($row[''children'']); } /* free result set */ mysqli_free_result($result); } ?>

Cuando uso print_r ($ data) se lee como:

Array ( [0] => Array ( [0] => Natural Chlid 1 [1] => Natural Chlid 2 [2] => Natural Chlid 3 ) )

Me gustaría que se lea como:

Niño natural 1
Niño natural 2
Niño natural 3


En lugar de

print_r($data);

tratar

print "<pre>"; print_r($data); print "</pre>";


Esta puede ser una solución más simple:

echo implode(''<br>'', $data[0]);


Lo uso para obtener claves y sus valores $ qw = mysqli_query ($ connection, $ query);

while ( $ou = mysqli_fetch_array($qw) ) { foreach ($ou as $key => $value) { echo $key." - ".$value.""; } echo "<br/>"; }


Muy buena forma de imprimir una matriz formateada en php, usando la función var_dump.

$a = array(1, 2, array("a", "b", "c")); var_dump($a);


One-liner para una representación JSON rápida y fácil:

echo json_encode($data, JSON_PRETTY_PRINT);

Si ya usas el compositor para el proyecto, requiere symfony / yaml y:

echo Yaml::dump($data);


Para matrices individuales, puede usar implode, tiene un resultado más limpio para imprimir.

<?php $msg = array(''msg1'',''msg2'',''msg3''); echo implode(''<br />'',$msg); echo ''<br />----------------------<br/>''; echo nl2br(implode("/n",$msg)); echo ''<br />----------------------<br/>''; ?>

Para matrices multidimensionales, debe combinar con algún tipo de bucle.

<?php $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; $msgs[] = $msg; foreach($msgs as $msg) { echo implode(''<br />'',$msg); echo ''<br />----------------------<br/>''; } ?>


Prueba esto:

foreach($data[0] as $child) { echo $child . "/n"; }

en lugar de print_r($data)



Supongo que uno usa print_r para la depuración. Entonces sugeriría usar bibliotecas como Kint . Esto permite mostrar grandes matrices en un formato legible:

$data = [[''Natural Child 1'', ''Natural Child 2'', ''Natural Child 3'']]; Kint::dump($data, $_SERVER);


Tengo una función básica:

function prettyPrint($a) { echo "<pre>"; print_r($a); echo "</pre>"; } prettyPrint($data);

EDITAR: Función optimizada

function prettyPrint($a) { echo ''<pre>''.print_r($a,1).''</pre>''; }

EDITAR: función optimizada de Moar con soporte personalizado de etiquetas

function prettyPrint($a, $t=''pre'') {echo "<$t>".print_r($a,1)."</$t>";}


si alguien necesita ver arreglos tan geniales;) use este método ... esto se imprimirá en la consola de su navegador

function console($obj) { $js = json_encode($obj); print_r(''<script>console.log(''.$js.'')</script>''); }

puedes usar esto ...

console($myObject);

La salida será así ... tan genial, eh!


print_r() es principalmente para la depuración. Si desea imprimirlo en ese formato, recorra la matriz e imprima los elementos.

foreach($data as $d){ foreach($d as $v){ echo $v."/n"; } }


<?php //Make an array readable as string function array_read($array, $seperator = '', '', $ending = '' and ''){ $opt = count($array); return $opt > 1 ? implode($seperator,array_slice($array,0,$opt-1)).$ending.end($array) : $array[0]; } ?>

Lo uso para mostrar una bonita matriz impresa a mis visitantes


echo ''<pre>''; foreach($data as $entry){ foreach($entry as $entry2){ echo $entry2.''<br />''; } }


foreach($array as $v) echo $v, PHP_EOL;


print("<pre>".print_r($data,true)."</pre>");