2017-01-02 156 views
1

我的一个功能是使用JSON返回编码的内容:PHP返回JSON编码字符串

return json_encode($json, true); 
在我的代码

现在,调用这个函数我已经尝试过使用:

die(var_dump($result[0])); 
die(var_dump($result["user"])); 
die(var_dump($result->user)); 

这一切都没有工作。 当我放弃整个内容我得到恢复,这是输出:

{"usd":1,"user":10000} 
+0

为什么不试试'死(的var_dump($结果));'单独看看会发生什么? – Perumal

+0

也已经试过,它返回:字符串和长度。 – wichtel

+1

你知道'json_encode()'的返回值是一个字符串,对吧? –

回答

0

我假设$ result变量是从函数返回的内容。

在您再次解码之前,您无法访问该json字符串中的属性。因此,您将无法使用$ result [“user”]或$ result-> user,因为结果包含一个json字符串。

您需要首先解码:

$result = json_decode($result, true); 

http://php.net/manual/en/function.json-decode.php

+0

作品,谢谢。该怎么做,所以我可以使用$ result-> user而不是$ result [“user”]? – wichtel

+0

如果你想要结果是一个对象,你必须解码输入:$ result = json_decode($ result); (所以没有,真的),那么你可以说$ result-> user。然而,如果你想把结果作为一个关联数组,所以你可以使用$ result ['user'],你必须按照我在上面的答案中所写的那样解码它。 –