我想在JavaScript中看到对象的结构(用于调试).PHP中的var_dump有什么类似的东西吗?
每一个体面的PHP程序员有一个print_r或var_dump包装他们使用,爱情和指定快捷键,我们为什么不分享我们最喜欢的人.
我有一个简单的$_GET[]查询var set,用于在从DB下拉查询时显示测试数据.
<?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; ?>
Run Code Online (Sandbox Code Playgroud)
当我这样做的时候var_dump,正如预期的那样,这个大阵列的字符串都被一起刷了.有没有办法至少为此添加换行符或var_dump以更可读的方式显示?我对jQuery有关在发布后操纵字符串的建议持开放态度.
当我回显var_dump($ _ variable)时,我得到一条长的包装线,包含所有的varable和值
["kt_login_user"]=> string(8) "teacher1" ["kt_login_id"]=> string(3) "973" ["kt_campusID"]=> string(4) "9088" ["kt_positionID"]=> string(1) "5"
Run Code Online (Sandbox Code Playgroud)
有没有办法让每个值都显示在自己的行上以便于阅读?像这样的东西:
["kt_login_user"]=> string(8) "teacher1"
["kt_login_id"]=> string(3) "973"
["kt_campusID"]=> string(4) "9088"
["kt_positionID"]=> string(1) "5"
Run Code Online (Sandbox Code Playgroud) 直到今天我才真正想过这个,但在搜索网络后我并没有真正找到任何东西.也许我没有在搜索中对其进行措辞.
给定一个数组(多维或不多):
$data = array('this' => array('is' => 'the'), 'challenge' => array('for' => array('you')));
Run Code Online (Sandbox Code Playgroud)
var_dumped时:
array(2) { ["this"]=> array(1) { ["is"]=> string(3) "the" } ["challenge"]=> array(1) { ["for"]=> array(1) { [0]=> string(3) "you" } } }
Run Code Online (Sandbox Code Playgroud)
挑战在于:将数组重新编译为PHP的可用数组的最佳优化方法是什么?就像一个undump_var()功能.数据是否全部作为浏览器输出的一行,或者是否包含换行符作为输出到终端.
这只是正则表达式的问题吗?或者还有其他方式吗?我在寻找创造力.
更新:注意.我熟悉序列化和反序列化的人.我不是在寻找替代解决方案.这是一个代码挑战,看看它是否可以以优化和创造性的方式完成.所以serialize和var_export不是这里的解决方案.它们也不是最好的答案.
我有一个像一些字符串的数组
$array = array("string1","string2","string3");
Run Code Online (Sandbox Code Playgroud)
但这些字符串很长,有时长度为2000+.所以,当我这样做
echo "<pre>";
var_dump($array);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
它向我展示了类似的东西
string 'zzzzzzzzzzzzzzzzz '... (length = 994)
string 'yyyyyyyyyyyyyyyyy '... (length = 1287)
string 'xxxxxxxxxxxxxxxxx '... (length = 1718)
Run Code Online (Sandbox Code Playgroud)
而不是完整的字符串.如何查看数组的全部内容?对于那些会问的人,它包含HTML标签,所以这就是我不写的原因echo $array[string];
这是我第一次面对,一个数组的var_dumping json_encode得到布尔值.
我有一个由反序列化产生的数组.我var_dumped它并确保它是一个有效的数组.结果如下.这只是一个部分,而不是整个调试视图.
array (size=3)
'id' => string 'asco-power-technologies-l-p' (length=27)
'name' => string 'asco-power-technologies-l-p' (length=27)
'children' =>
array (size=2)
0 =>
array (size=4)
'id' => string 'apl-logistics' (length=13)
'name' => string 'APL LOGISTICS' (length=13)
'data' =>
array (size=2)
'band' => string 'ASCO POWER TECHNOLOGIES ,L.P.' (length=29)
'relation' => string 'Buyer of band' (length=13)
'children' =>
array (size=11)
0 => &
array (size=3)
'id' => string 'trisa-ag' (length=8)
'name' => string 'TRISA AG' (length=8)
'data' =>
array (size=2)
'band' => string …Run Code Online (Sandbox Code Playgroud) 我有sql查询的PHP代码
<?
$server = "127.0.0.1";
$username = "root";
$password = "1";
$link= connecttodb($server,$username,$password);
function connecttodb($server,$username,$password)
{
$rez=fopen("test.txt","ab");
if ($link=mysql_connect ("$server","$username","$password",TRUE))
{
fwrite($rez,"".$server." \r\n");
echo "Connected successfully to >> " .$server ;
$result = mysql_query('SHOW DATABASES');
echo "<br>";
while ($row = mysql_fetch_array($result))
{
var_dump ($row); }
}
}
ini_set('max_execution_time', 10);
return $link;
?>Run Code Online (Sandbox Code Playgroud)
此代码在浏览器上打印我的数据库名称如何将数据库名称保存到文本文件中
Connected successfully to >> 127.0.0.1
array(2) { [0]=> string(18) "information_schema" ["Database"]=> string(18) "information_schema" } array(2) { [0]=> string(2) "db" ["Database"]=> string(2) "db" } array(2) { [0]=> string(5) …Run Code Online (Sandbox Code Playgroud)根据这篇文章http://devzone.zend.com/article/2803,var_dump应该美化输出.
我已经使用PHP Version 5.3.3-1ubuntu9.2在我的本地主机上安装了xdebug.我在php.ini输出中有这个.
该程序使用Zend脚本语言引擎:Zend Engine v2.3.0,版权所有(c)1998-2010 Zend Technologies with Xdebug v2.1.0,Copyright(c)2002-2010,Derick Rethans
但是,当我使用var_dump()时,没有任何变化.
xdebug真的美化了var_dump输出吗?
如果是这样,我该如何解决?
这是我在php.ini中的xdebug的详细信息
xdebug
xdebug support enabled
Version 2.1.0
Supported protocols Revision
DBGp - Common DeBuGger Protocol $Revision: 1.145 $
Directive Local Value Master Value
xdebug.auto_trace Off Off
xdebug.collect_assignments Off Off
xdebug.collect_includes On On
xdebug.collect_params 0 0
xdebug.collect_return Off Off
xdebug.collect_vars Off Off
xdebug.default_enable On On
xdebug.dump.COOKIE no value no value
xdebug.dump.ENV no value no value
xdebug.dump.FILES no value no value
xdebug.dump.GET no value …Run Code Online (Sandbox Code Playgroud)