当有多个时,如何显示json的一部分?

时间:2013-04-07 21:41:46

标签: php json

我知道这对标题来说似乎有点令人困惑,但我可以说我有这个:

{"success":true,"name":"test","ips":[{"public":"ipaddr","local":"ipaddr"},{"public":"ipaddr","local":"ipaddr"}],"time":1040}

由于有两个“公共”IP地址,我只想在列表中显示第一个公共IP。我该怎么做呢?

这是我到目前为止所做的:

$json = json_decode($contents, true);
foreach($json['ips'] as $item) {
    echo $item['public'];
}

2 个答案:

答案 0 :(得分:1)

让我们可以看到你的json数据的结构,然后看看我们如何访问下面例子中的特定元素(第一个ips):

$json = <<<JSON
{
  "success": true,
  "name": "test",
  "ips": [
    {
      "public": "ipaddr",
      "local": "ipaddr"
    },
    {
      "public": "ipaddr",
      "local": "ipaddr"
    }
  ],
  "time": 1040
}
JSON;

$decoded = json_decode($json);

var_dump($decoded);
var_dump($decoded->ips[0]->public);

答案 1 :(得分:0)

尝试

$json = json_decode($contents, true);
echo $json['ips'][0]['public'];

Example