2014-02-22 48 views
1

假设我有这样的有没有什么办法让PHP阵列的输出像它的定义

$array = ['a','b','c','d'] 

现在,为了看到它在屏幕上的数组,我有两个选择:

var_dumpprint_r

但他们的输出是一样

Array ([0] => a [1] => b [2] => c [3] => d)

array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" }

我有时觉得很难看。

有没有什么办法让像

['a','b','c','d']

,这样很容易读取输出?

+4

使用'var_export'。的 – Barmar

+0

可能重复[我怎样才能格式化VAR \ _dump的输出用作变量?(http://stackoverflow.com/questions/19388950/how-can-i-format-a-var-dumps-output-作为一个变量) – Barmar

+1

@Barmar,他完全想要这样(数组是如何构造的)和'var_export'不会那样做。他希望为了阅读目的。 –

回答

2

似乎你需要它的目的是为了阅读..为了使用json_encode();

<?php 
$array = ['a','b','c','d']; 
echo json_encode($array); //"prints" ["a","b","c","d"] 
+0

JSON是不是真的最佳为了阅读的目的..尝试编码一个多暗数组并读取输出.. – Philipp

+1

@Philipp,Ikr。奇怪的问题确实有奇怪的答案。 –

+0

@菲利普我不认为他担心这一点。他想阻止简单的数组以复杂的符号打印。如果他有一个复杂的数组,他应该使用'var_dump'或'print_r'。 – Barmar

0

你可以使自己的功能:

function print_array($array) { 
    echo '['; 
    foreach($array as $letter) { 
     echo $letter . ','; 
    } 
    echo ']'; 
} 

$arr = ['a','b','c','d']; 
print_array($arr); 
-2

我用

echo "<pre>".print_r($array,1)."</pre>"; 
+0

这不是打印结果什么OP是想要的。他已经尝试了print_r。 – aksu

+1

不,但格式是有益的阅读...这基本上是他所要求的。 –

+0

他这样说:*有没有什么办法让输出像['a','b','c','d'] ... *他想以这种格式显示数组。 – aksu

-2

var_dumpprint_r输出是可读的 - 问题是HTML输出,从而消除线 - 休息。

所以我建议使用预标签内这个功能

echo '<pre><code>'; 
var_dump($data); 
echo '</code></pre>'; 

你也可以安装PHP模块Xdebug的可能修改的var_dump的输出更好的可读性:http://xdebug.org/docs/display

0

您应该添加

<pre></pre> 

标签前后print_r的功能和suparet他们

相关问题