I try to use var_dump on command line with phpsh in order to get debugging information about some variable. But the variable contains a very deeply nested data structure. Therefore, using the default var_dump outputs too much information.
I want to limit the depth level of var_dump output. I found that XDebug's var_dump implementation allows depth limiting as described here: http://www.giorgiosironi.com/2009/07/how-to-stop-getting-megabytes-of-text.html
Unfortunately, I couldn't make this work neither. I don't know yet the reason for this. I am looking for if there are any alternative var_dump implementations to try.
json_encode takes a depth argument. Do this:
echo '<pre>' . json_encode($your_array, JSON_PRETTY_PRINT, $depth) . '</pre>';
Here is the function for this issue:
function slice_array_depth($array, $depth = 0) {
foreach ($array as $key => $value) {
if (is_array($value)) {
if ($depth > 0) {
$array[$key] = slice_array_depth($value, $depth - 1);
} else {
unset($array[$key]);
}
}
}
return $array;
}
Use this function to slice an array to depth you need, than simply var_dump()
or print_r()
the sliced array :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With