2017-01-02 194 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'],你必須按照我在上面的答案中所寫的那樣解碼它。 –