PHP:如何从JSON数组获取属性? [英] PHP: How do I get an attribute from a JSON array?

查看:121
本文介绍了PHP:如何从JSON数组获取属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下JSON数组:

I have the following JSON array:

<?php    
$json = {
  "status": "OK",
  "results": [ {
    "types": [ "street_address" ],
    "formatted_address": "5721 N Northcott Ave, Chicago, IL 60631, USA",
    "address_components": [ {
      "long_name": "5721",
      "short_name": "5721",
      "types": [ "street_number" ]
    }, {
      "long_name": "Illinois",
      "short_name": "IL",
      "types": [ "administrative_area_level_1", "political" ]
    }, {
      "long_name": "60631",
      "short_name": "60631",
      "types": [ "postal_code" ]
    } ],
    "geometry": {
      "location": {
        "lat": 41.9858860,
        "lng": -87.7907460
      },
      "location_type": "ROOFTOP",
      "viewport": {
        "southwest": {
          "lat": 41.9827384,
          "lng": -87.7938936
        },
        "northeast": {
          "lat": 41.9890336,
          "lng": -87.7875984
        }
      }
    }
  } ]
};
?>

使用PHP,如何从上面的JSON数组中获取geometery->location->lat& lng值?

Using PHP, how do I get the geometery->location->lat&lng values from my JSON array above?

例如(伪代码):

<?php
$lat = $json['geometry']['location']['lat'];  // 41.9858860
$lng = $json['geometry']['location']['lng'];  // -87.7907460
?>

推荐答案

您使用 json_decode ,然后$var->results[0]->geometry->location->lat;.

json_decode产生以下结构:


object(stdClass)[1]
  public 'status' => string 'OK' (length=2)
  public 'results' => 
    array
      0 => 
        object(stdClass)[2]
          public 'types' => 
            array
              0 => string 'street_address' (length=14)
          public 'formatted_address' => string '5721 N Northcott Ave, Chicago, IL 60631, USA' (length=44)
          public 'address_components' => 
            array
              0 => 
                object(stdClass)[3]
                  public 'long_name' => string '5721' (length=4)
                  public 'short_name' => string '5721' (length=4)
                  public 'types' => 
                    array
                      0 => string 'street_number' (length=13)
              1 => 
                object(stdClass)[4]
                  public 'long_name' => string 'Illinois' (length=8)
                  public 'short_name' => string 'IL' (length=2)
                  public 'types' => 
                    array
                      0 => string 'administrative_area_level_1' (length=27)
                      1 => string 'political' (length=9)
              2 => 
                object(stdClass)[5]
                  public 'long_name' => string '60631' (length=5)
                  public 'short_name' => string '60631' (length=5)
                  public 'types' => 
                    array
                      0 => string 'postal_code' (length=11)
          public 'geometry' => 
            object(stdClass)[6]
              public 'location' => 
                object(stdClass)[7]
                  public 'lat' => float 41.985886
                  public 'lng' => float -87.790746
              public 'location_type' => string 'ROOFTOP' (length=7)
              public 'viewport' => 
                object(stdClass)[8]
                  public 'southwest' => 
                    object(stdClass)[9]
                      public 'lat' => float 41.9827384
                      public 'lng' => float -87.7938936
                  public 'northeast' => 
                    object(stdClass)[10]
                      public 'lat' => float 41.9890336
                      public 'lng' => float -87.7875984

这篇关于PHP:如何从JSON数组获取属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆