2017-10-05 115 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