2017-10-05 42 views
-4

我有這樣的代碼:打印JSON數組中的PHP

$JSONData = json_decode("[\"tes\", \"dfds\", \"array\"]"); 

print_r("Data = " . $JSONData); 

它輸出:

Data = Array 

如何打印數組?如:

array(4) { 
    [0]=> 
    string(3) "tes" 
    [1]=> 
    string(4) "dfds" 
    [2]=> 
    string(5) "array" 
} 
+0

我通常用var_dump – johnjerrico

+0

使用'的var_dump($ JSONData)的' –

+0

可能的複製[如何解析JSON(https://開頭計算器.com/questions/2591098/how-to-parse-json) –

回答

3
print_r("Data = " . $JSONData); 

你的問題是,你是用另一個字符串concatinating其轉化數組轉換爲字符串。

當表達式達到print_r時,數組結構已被破壞。

你應該分兩個步驟執行此操作:

print "Data = "; 
print_r($JSONData); 
-1

json_decode() returns an array instead of a string。在你的情況下,你可以使用var_dump()來獲得請求的輸出。

+2

只需將'var_dump'替換爲'print_r'就會產生與問題代碼相同的問題。 – Quentin

+0

好的,你不能像使用簡單的回聲一樣連接。如果真的需要「Data =」部分,它需要在PHP代碼中自己的行上。另外,問題是如何打印數組。 'var_dump'給出了確切的請求輸出。出於這個原因,我明確建議使用'var_dump'而不是'print_r'。 – stuiterveer