让var_dump看起来很漂亮
我有一个简单的$_GET[]
查询var设置为显示testing数据时,从数据库中查询下拉。
<?php if($_GET['test']): ?> <div id="test" style="padding: 24px; background: #fff; text-align: center;"> <table> <tr style="font-weight: bold;"><td>MLS</td></tr> <tr><td><?php echo KEY; ?></td></tr> <tr style="font-weight: bold;"><td>QUERY</td></tr> <tr><td><?php echo $data_q; ?></td></tr> <tr style="font-weight: bold;"><td>DATA</td></tr> <tr><td><?php var_dump($data); ?></td></tr> </table> </div> <?php endif; ?>
当我做var_dump
,如预期的那样,这个大数组string被全部冲在一起。 有没有一种方法可以添加换行符,至less可以这样做呢,还是以更具可读性的方式显示var_dump
? 我打开jQuery的build议操纵string后,张贴。
我真的很喜欢var_export()
。 如果您喜欢复制/粘贴代码,请尝试:
echo '<pre>' . var_export($data, true) . '</pre>';
或者甚至像这样的颜色语法突出显示:
highlight_string("<?php\n\$data =\n" . var_export($data, true) . ";\n?>");
试试php的xdebug扩展。
例:
<?php var_dump($_SERVER); ?>
输出:
你也可以试试Xdebug来获得更多信息的var转储
最好的什么和最简单的方法来获得漂亮的var_dump是使用xDebug(必须为任何PHP开发)Debian的方式安装
在控制台中: apt-get install php-xdebug
之后,你应该打开php.ini(取决于你使用的是哪个堆栈),它是/etc/php/7.0/fpm/php.ini
searchdisplay_errors
设置相同 – > display_errors = On
在同一个文件中检查html_errors
稍微低一点,这也是必须的
保存并退出
打开/etc/php/7.0/fpm/conf.d/20-xdebug.ini
并添加到最后:“`xdebug.cli_color = 1
`保存并退出。
xdebug的许多其他可用的选项和文档可以在这里创build。
祝好运并玩得开心点 !!!
结果
使用预先格式化的HTML代码
echo '<pre>'; var_dump($data); echo '</pre>';
你可以使用这一个debugVar()
而不是var_dump()
签出: https : //github.com/E1NSER/php-debug-function
不完全是var_dump
,但很有用: http : //dbug.ospinto.com/
这是我的函数有一个漂亮的var_dump。 结合Xdebug ,我们可以更好地了解我们正在倾销的内容。
我改进了一点Xdebug的显示(给一些空间,值之间的分隔符,包装长variables等)。
当你调用这个函数的时候,你可以设置一个标题,一个背景,一个文本颜色来区分页面中的所有var_dump。
或不 ;)
/** * Pretty var_dump * Possibility to set a title, a background-color and a text color */ function dump($data, $title="", $background="#EEEEEE", $color="#000000"){ //=== Style echo " <style> /* Styling pre tag */ pre { padding:10px 20px; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; } /* =========================== == To use with XDEBUG =========================== */ /* Source file */ pre small:nth-child(1) { font-weight: bold; font-size: 14px; color: #CC0000; } pre small:nth-child(1)::after { content: ''; position: relative; width: 100%; height: 20px; left: 0; display: block; clear: both; } /* Separator */ pre i::after{ content: ''; position: relative; width: 100%; height: 15px; left: 0; display: block; clear: both; border-bottom: 1px solid grey; } </style> "; //=== Content echo "<pre style='background:$background; color:$color; padding:10px 20px; border:2px inset $color'>"; echo "<h2>$title</h2>"; var_dump($data); echo "</pre>"; }
使用
echo nl2br(var_dump());
这应该工作^^