foreach循环用于循环通过Json

时间:2016-08-02 16:17:47

标签: php arrays json foreach

我需要打印通过以下json数据循环的每个值。

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

我尝试的是:

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

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

2 个答案:

答案 0 :(得分:0)

你把你的foreach混淆了一点。将其更改为:

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

答案 1 :(得分: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;