2016-08-02 257 views
0

我需要打印通過下面的json數據循環的每個值。通過Json循環的foreach循環

{ 
    "Name": "xyz", 
    "Address": "abc", 
    "City": "London", 
    "Phone": "123456" 
} 

我想的是:

$DecodedFile = json_decode(file_get_contents("file.json")); 

foreach ($DecodedFile->{$key} as $value) { 
    echo "$value <br>"; 
} 

回答

0

您不需要->{$key}。這只是:

foreach ($DecodedFile as $value) { 
    echo "$value <br>"; 
} 

,或者如果你想使用的關鍵,以及:

foreach ($DecodedFile as $key => $value) { 
    echo "$key: $value <br>"; 
} 

json_decode之後,你得到這個$DecodedFile

object(stdClass)[1] 
    public 'Name' => string 'xyz' (length=3) 
    public 'Address' => string 'abc' (length=3) 
    public 'City' => string 'London' (length=6) 
    public 'Phone' => string '123456' (length=6) 

然後它只是普通object iteration

可以如果您想從解碼對象中獲取單個特定屬性,儘管括號不是必需的,但可以使用該語法。

$key = 'City'; 
echo $DecodedFile->$key; 
0

您已經混亂了你的foreach一點。將其更改爲:

foreach($DecodedFile as $key=>$value)