我正在研究一个小的ajax应用程序,并且需要查看在后台生成的值是否是预期的。由任务返回的值可以是相当复杂的多维数组,是否有方法将其转换为字符串,以便可以使用alert来显示它?PHP - 将多维数组转换为字符串?
是否有任何其他方式看到这些值?
任何意见赞赏。
谢谢。
我正在研究一个小的ajax应用程序,并且需要查看在后台生成的值是否是预期的。由任务返回的值可以是相当复杂的多维数组,是否有方法将其转换为字符串,以便可以使用alert来显示它?PHP - 将多维数组转换为字符串?
是否有任何其他方式看到这些值?
任何意见赞赏。
谢谢。
print_r
,var_dump
或var_export
是很好的候选人。在编写ajax应用程序时,您可能还需要查看json_encode
。
如果你想用JavaScript显示它,我会推荐json_encode()
,其他所有内容都被knittl的答案所覆盖。
<script type="text/javascript">
alert(<?=print_r($array)?>);
</script>
你也可以考虑FirePHP http://www.firephp.org
我发现这个功能很有用:
function array2str($array, $pre = '', $pad = '', $sep = ', ')
{
$str = '';
if(is_array($array)) {
if(count($array)) {
foreach($array as $v) {
$str .= $pre.$v.$pad.$sep;
}
$str = substr($str, 0, -strlen($sep));
}
} else {
$str .= $pre.$array.$pad;
}
return $str;
}
从这个地址: http://blog.perplexedlabs.com/2008/02/04/php-array-to-string/
我在一堆Ajax应用程序的工作。在firefox中,我有一个名为JSON视图的“插件”
然后我所有的项目都有一个功能
function test_array($array) {
header("Content-Type: application/json");
echo json_encode($array);
exit();
}
所以每当我想看到的输出,我只是去test_array($something)
什么,它让我看到结果。
其制作调试breaze现在
PS。知道这个Q是古老和IM没有真正回答原始的海报Q,但可能对别人有用的藏汉
这里是PHP一个简单的答案:
function implode_recur($separator, $arrayvar) {
$output = "";
foreach ($arrayvar as $av)
if (is_array ($av))
$out .= implode_recur($separator, $av); // Recursive array
else
$out .= $separator.$av;
return $out;<br>
}
$result = implode_recur(">>",$variable);
这里有几个错别字...在implode_recur中,对implode_r的引用应该是implode_recur.Also将$ out的两个实例更改为$ output。这也将在数组中的第一个元素之前添加分隔符字符串...“>> a >> b >>”,这在所有情况下都可能不合需要。 – user2782001 2016-03-18 23:43:21
非常感谢@ user2782001。我已纠正它。 – kachmi 2016-03-21 07:20:13
var_export的输出可以被保存到一个变量: $ a = array(1,2,array(“a”,“b”,“c”)); $ b = var_export($ a,true); echo $ b; – ken 2014-07-08 09:00:59