1

重複の可能性:
マイナス記号でオブジェクト プロパティにアクセスするには?

geo:point / geo:lat を解析しようとしていますが、どこにも速くなりません。ここに私がこれまでに持っているコードがあります

  $content = get_data('http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=united+kingdom&api_key=XXX&format=json&limit=10000&festivalsonly=1');
  $LFMdata = json_decode($content);
  foreach ($LFMdata->events->event as $event) {
      $venue_lat = $event->venue->location["geo:point"]["geo:lat"];
      $venue_long = $event->venue->location["geo:point"]["geo:long"];

JSONには次のようなものが含まれます

"geo:point": {
     "geo:lat": "52.7352",
     "geo:long": "-1.695392"
}

誰でも思いつきましたか?PHP ではなく JavaScript で見られる例

4

1 に答える 1

2

使用できます

$venue_lat = $event->venue->location->{"geo:point"}->{"geo:lat"};

または、連想配列のようなすべてを返すようにします ( json_decodeset toの 2 番目のパラメーターtrue):

 $LFMdata = json_decode($content, true);
  foreach ($LFMdata["events"]["event"] as $event) {
      $venue_lat = $event["venue"]["location"]["geo:point"]["geo:lat"];
      $venue_long = $event["venue"]["location"]["geo:point"]["geo:long"];
于 2013-01-16T12:13:19.343 に答える