2014-02-22 46 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他們

相關問題