2017-05-30 15 views
-3

noob here!我怎樣才能獲得「數量」值只有0打印與JSON和PHP:從json獲取數量

{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]} 

我已經試過這

$m = json_encode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}') 
$multi = json_decode($m, true); 
echo $multi->{'qty'}; 

而不工作

+1

.. var dump $ multi,你會明白爲什麼要做你在做什麼是錯誤的 – ThisGuyHasTwoThumbs

回答

0

您已經有了JSON字符串,因此你不能使用json_encode

$multi = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}', true); 
echo $multi['total'][0]['qty']; 
+0

它的工作原理!謝謝 –

0

json_encode被用於從弗吉尼亞州創建一個JSON字符串可變結構。

您已經擁有JSON字符串,因此您可以簡單地使用$m = json_encode(json_string)來代替$m = json_string

此外,您在嘗試訪問qty變量時缺少一個深度級別(不參考total)。

(請注意,total是包含一個對象,然後把含有qty數組)

試一下:

$m = '{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}'; 
$multi = json_decode($m, true); 
echo $multi['total'][0]['qty']; 
0

json_encode編碼陣列成一個字符串,你想編碼一個字符串。

在您的字符串上使用json_decode,以便它轉換爲數組。

$m = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":10,"raw":0}]}'); 
$qty = $m->total[0]->qty; 
echo $qty;