2010-04-16 11 views
5

Me preguntaba si hay una forma de imprimir solo la estructura de la matriz sin los contenidos. Generalmente uso print_r para examinar la estructura, pero debido a que mi matriz contiene algunos datos binarios, prefiero no usar esto.Imprimir la estructura de una matriz sin sus contenidos?

+0

escribir su propia función recursiva print_r emular? –

Respuesta

12
<?php 
    function print_no_contents($arr) { 
     foreach ($arr as $k=>$v) { 
      echo $k."=> "; 
      if (is_array($v)) { 
       echo "\n"; 
       print_no_contents($v); 
      } 
      else echo "[data]"; 
      echo "\n"; 
     } 
    } 
?> 

* no lo probé, pero debería comenzar.

+0

Agregue un segundo parámetro llamado '$ count = 0' a su función y llame a la función como' print_no_contents ($ v, ++ $ count); 'Y haga algo como' strrepeat ('', $ count) 'justo enfrente de la parte 'echo $ k. '=>'' para obtener una buena sangría :) – Jelmer

1

couldnt que acaba de hacer

foreach ($array as $structure=>$data){ 
    echo $structure."=><br />"; 
} 
+0

Esto funciona como un arranque, buena respuesta, pero solo haría el nivel superior de la matriz. Debería hacer algo como esto para obtener la estructura completa: 'function output_array_structure ($ array, $ type =" ") { echo"

    "; foreach ($ array as $ structure => $ data) { echo "
  1. $ structure
  2. "; if (is_array ($ data)) { output_array_structure ($ data, "type = 'a'"); } } echo "
"; } ' – sijpkes

1

me gusta usar xdebug's var_dump() overload durante toda mi fisgoneo variable. Puede proporcionarle una configuración ini para truncar los valores que se descartan, y proporciona algunos límites lógicos para empezar (aunque no estoy seguro de lo que suele hacer con los datos binarios).

ini_set('xdebug.var_display_max_data', 0); 
var_dump($your_variable);

Puede descargarlo desde http://xdebug.org/

1

aquí es la estructura de matriz con los datos

 echo printArray($your_array); 

     function printArray($a,$return=true) { 
        if(!$return) 
         echo "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>"; 
        else 
         return "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>"; 
     } 
Cuestiones relacionadas