1

PHP で JSON を操作しようとしていますが、json_decode から情報が返されたときに $events=>$url にアクセスできるように助けてもらえないかと考えていました。変数パスとは何ですか。戻りデータには多数のループ レコードがあり、次のようなものを使用しています。

$data = json_decode($feeds,true);
    foreach($data as $item=>$events) {
                    $date = $events=>$month.'/'.$events=>$day.'/'.$events=>$year;
                    $events.='<li><span class="engindate">'.$date.'</span><br /><span class="source">'.$item["title"].'</span><br /><a href="'.$item["url"].'">'.$item["details"].'</a></li>';  
                }

これが JSON のサンプルです (はい、不完全であることはわかっています)。

{
  "month": 5,
  "year": 2013,
  "events": [
    {
      "url": "http://www.engin.umich.edu/college/about/cal/events/2013/may/shavuot-ends",
      "id": "shavuot-ends",
      "month": 5,
      "year": 2013,
      "day": 16,
      "startTime": "1:42",
      "endTime": "1:42",
      "hideTime": "true",
      "deadline": "true",
      "am_pm": "pm",
      "am_pm_start": "pm",
      "am_pm_end": "pm",
      "title": "Shavuot ends",
      "location": "",
      "details": "Shavuot runs from May 14 to May 16.",
      "host": "Michigan Engineering",
      "event_type": "Holiday",
      "image": {
        "src": "http://www.engin.umich.edu/++resource++umich_images/default_event.jpg",
        "alt": "Shavuot ends"
      }
    },...
4

3 に答える 3

1

->と演算子を混同しています=>。このようにしてみてください:

$data = json_decode($feeds,true);
    foreach($data['events'] as $event) {
                    $date = $event['month'].'/'.$event['day'].'/'.$event['year'];
                    $events.='<li><span class="engindate">'.$date.'</span><br /><span class="source">'.$event["title"].'</span><br /><a href="'.$event["url"].'">'.$event["details"].'</a></li>';  
                }
于 2013-05-16T15:46:53.697 に答える
0

これを試して:

$data = json_decode($feeds);

$eventsHtml = "";
foreach($data->events as $event ) {
                    $date = $data->month.'/'.$event->day.'/'.$data=>year;
                    $eventsHtml .='<li><span class="engindate">'.$date.
                                  '</span><br /><span class="source">'.
                                   $event=>title.
                                   '</span><br /><a href="'.$event=>url.'">'.
                                   $event->details.'</a></li>';  
                }

オブジェクト " data" があります。これはメンバー " month" を持っているので、配列である$data->month メンバー " " を持っています。events最初のイベントは$data->events[0]. で反復するとforeach、これは1foreach($data->events as $event ) {$eventのイベントとして処理されます。

基本的なエラー:

$events=>$month // is inproper syntax
foreach($data as $item=>$events) {
        ..
        $events.= // this would overwrite the iterator variable above ??
于 2013-05-16T15:53:26.833 に答える