PHP - non-recursive var_dump?

Install XDebug extension in your development environment. It replaces var_dump with its own that only goes 3 members deep by default.

https://xdebug.org/docs/display

It will display items 4 levels deep as an ellipsis. You can change the depth with an ini setting.

All PHP functions: var_dump, var_export, and print_r do not track recursion / circular references.

Edit:

If you want to do it the hard way, you can write your own function

print_rr($thing, $level=0) {
   if ($level == 4) { return; }
   if (is_object($thing)) {
       $vars = get_object_vars($thing);

   }

   if (is_array($thing)) {
       $vars = $thing;
   }
   if (!$vars) {
       print " $thing \n";
       return;
   }

   foreach ($vars as $k=>$v) {
      if (is_object($v)) return print_rr($v, $level++);
      if (is_array($v)) return print_rr($v, $level++);
      print "something like var_dump, var_export output\n";
   }
}

Tags:

Php

Var Dump