2015-12-05 27 views
2

我在爲一個minecraft服務器開發時遇到了一個問題:我有一個這樣的數組,它被作爲json接收並編碼,但用於處理這個輸出,知道如何訪問該陣列和回聲實施例中的一個值的版本Key.I試圖保存數組作爲變量$json和經由echo $json->Version;來訪問它,但是這將導致該錯誤的輸出:Notice: Trying to get property of non-object in /home/bs-web/joomla/api/test2.php on line 12php正確編碼json並將其與我的特殊數組一起使用

Here' s陣列:

Array 
(
    [0] => stdClass Object 
    (
     [GameName] => MINECRAFT 
     [Version] => 1.8 
     [Plugins] => 
     [Map] => BungeeCord_Proxy 
     [Players] => 7 
     [MaxPlayers] => 100 
     [HostPort] => 25565 
     [HostIp] => 188.40.97.86 
     [Software] => Vanilla 
    ) 

回答

0

您的變量$json是一個數組,您無法獲取數組的屬性。假設你的數組中的例子只有一個元素,你應該使用

echo $json[0]->Version; 

顯示版本(1.8在你的例子)。

0

一旦您將$json變量保存爲數組,您只能訪問其傳遞要使用的密鑰的值,然後指向該對象。在你的情況下,要獲得版本屬性,你需要使用$json[0]->Version。 要訪問並回顯對象的所有值,可以使用foreach循環來迭代它。

foreach ($json as $object){ 
    echo $object->GameName; 
    echo $object->Version; 
    echo $object->Plugins; 
    .... // All properties that you want 
} 

希望它可以幫助你,擁抱。

0

你也可以使用json_decode($json, true)然後你得到一個相關數組,你可以這樣訪問$json['Version']

相關問題