YannBergonzat

PHP dump with depth

Feb 3rd, 2015
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.81 KB | None | 0 0
  1. function dump($what, $depth=-1, $indent=0) {
  2.     $ret = '';
  3.     $nl = "\n";
  4.     $ind = "&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"opacity:0.5;position: absolute;\">¦</span>";
  5.  
  6.     if(is_array($what)) {
  7.         $ret .= 'Array (' . $nl;
  8.  
  9.         foreach($what as $key => $value) {
  10.             for($i = 0; $i <= $indent; $i++) {
  11.                 $ret .= $ind;
  12.             }
  13.  
  14.             $ret .= '[' . $key . '] => ';
  15.  
  16.             if($depth == 0) {
  17.                 if(is_array($value)) {
  18.                     $ret .= 'Array ()' . $nl;
  19.                 } else if(is_object($value)) {
  20.                     $ret .= 'Object ()' . $nl;
  21.                 } else {
  22.                     $ret .= $value . $nl;
  23.                 }
  24.             } else {
  25.                 $ret .= self::dump($value, $depth-1, $indent+1);
  26.             }
  27.         }
  28.  
  29.         for($i = 0; $i < $indent; $i++) {
  30.             $ret .= $ind;
  31.         }
  32.  
  33.         $ret .= ')' . $nl;
  34.     } else if(is_object($what)) {
  35.         $ret .= 'Object (' . $nl;
  36.  
  37.         foreach($what as $key => $value) {
  38.             for($i = 0; $i <= $indent; $i++) {
  39.                 $ret .= $ind;
  40.             }
  41.  
  42.             $ret .= '[' . $key . '] => ';
  43.  
  44.             if($depth == 0) {
  45.                 if(is_array($value)) {
  46.                     $ret .= 'Array ()' . $nl;
  47.                 } else if(is_object($value)) {
  48.                     $ret .= 'Object ()' . $nl;
  49.                 } else {
  50.                     $ret .= $value . $nl;
  51.                 }
  52.             } else {
  53.                 $ret .= self::dump($value, $depth-1, $indent+1);
  54.             }
  55.         }
  56.  
  57.         for($i = 0; $i < $indent; $i++) {
  58.             $ret .= $ind;
  59.         }
  60.  
  61.         $ret .= ')' . $nl;
  62.     } else {
  63.         $ret .= $what . $nl;
  64.     }
  65.  
  66.     return ($indent == 0) ? '<pre>'.$ret.'</pre>' : $ret;
  67. }
Add Comment
Please, Sign In to add comment