July 13, 2015 —John Koster
If you are using Xdebug with PHP and are using the var_dump
function it is important to note that Xdebug will limit var_dump
's depth when dumping information about a variable. By default this limit is 3
and can easily be identified by the ellipsis that are added to var_dump
's output:
1object(Illuminate\Support\Collection)[135] 2 protected 'items' => 3 array (size=2) 4 0 => 5 object(Illuminate\Support\Collection)[133] 6 protected 'items' => 7 array (size=3) 8 ... 9 1 =>10 object(Illuminate\Support\Collection)[134]11 protected 'items' =>12 array (size=3)13 ...
This Xdebug setting can be configured via the php.ini
file (as explained in Xdebug's documentation section "xdebug.var_display_max_depth"). Luckily for us, this configuration value can be modified using PHP's init_set
function, so it can be changed whenever we want during a script's execution:
1<?php2 3// Change var_dump's depth when using Xdebug:4ini_set('xdebug.var_display_max_depth', '10');
Now var_dump
will output all the information we were originally looking for:
1object(Illuminate\Support\Collection)[135] 2 protected 'items' => 3 array (size=2) 4 0 => 5 object(Illuminate\Support\Collection)[133] 6 protected 'items' => 7 array (size=3) 8 0 => string '1' (length=1) 9 1 => string '2' (length=1)10 2 => string '3' (length=1)11 1 =>12 object(Illuminate\Support\Collection)[134]13 protected 'items' =>14 array (size=3)15 0 => string '4' (length=1)16 1 => string '5' (length=1)17 2 => string '6' (length=1)
If you are having difficulties displaying all the information you need when using the var_dump
function and you have Xdebug installed and enabled, it is more than likely a configuration value you missed. Modify the xdebug.var_display_max_depth
configuration value as needed to display all the information needed.
∎
The following amazing people help support this site and my open source projects ♥️
If you're interesting in supporting my work and want to show up on this list, check out my GitHub Sponsors Profile.