我尝试在PHPsh的命令行上使用var_dump,以获取有关某些变量的调试信息.但该变量包含一个非常深层嵌套的数据结构.因此,使用默认的var_dump会输出太多信息.
我想限制var_dump输出的深度级别.我发现XDebug的var_dump实现允许深度限制,如下所述:http://www.giorgiosironi.com/2009/07/how-to-stop-getting-megabytes-of-text.html
不幸的是,我无法做到这一点.我还不知道原因.我正在寻找是否有任何替代var_dump实现尝试.
检查一下:
function print_array($array,$depth=1,$indentation=0){ if (is_array($array)){ echo "Array(\n"; foreach ($array as $key=>$value){ if(is_array($value)){ if($depth){ echo "max depth reached."; } else{ for($i=0;$i<$indentation;$i++){ echo " "; } echo $key."=Array("; print_array($value,$depth-1,$indentation+1); for($i=0;$i<$indentation;$i++){ echo " "; } echo ");"; } } else{ for($i=0;$i<$indentation;$i++){ echo " "; } echo $key."=>".$value."\n"; } } echo ");\n"; } else{ echo "It is not an array\n"; } }