0

そのため、解決するために最善を尽くしましたが、成功しなかったというわずかな問題が発生しました。チェックイン情報にアクセスする Facebook アプリがあり、多次元配列で JSON 出力を生成する API を通過します。PHPでコーディングしています。

私が抱えている問題は、すべてのチェックインに座標/位置情報 (緯度/経度) があるわけではないため、ページにエラーが返されることです。

情報の配列を調べて、キーが存在するかどうか、および/またはその中に情報が含まれているかどうかを調べたいと思います。

foreach ($checkins['data'] as $checkin) {
      echo ("<p>{$checkin['place']['location']['latitude']}</p>");
      echo ("<p>{$checkin['place']['location']['longitude']}</p>");
}

それは私が使用するコードですが、位置情報がない場合はエラーが発生します。この問題を解決する方法を知っている人はいますか、またはループして特定のキーが存在するかどうかを調べる簡単な方法はありますか?

どんな助けでも大歓迎です!

ありがとうございました!

4

2 に答える 2

1

isset() を使用して、探しているコンテンツが存在するかどうかを確認します。

foreach ($checkins['data'] as $checkin) {
      if(isset($checkin['place']) 
         && isset($checkin['place']['location'])
         && isset($checkin['place']['location']['latitude'])
         && isset($checkin['place']['location']['longitude'])
      ) {
           echo ("<p>{$checkin['place']['location']['latitude']}</p>");
           echo ("<p>{$checkin['place']['location']['longitude']}</p>");
      }
}
于 2013-08-19T11:36:24.423 に答える
0

これを試して:

foreach ($checkins['data'] as $checkin) {
     if ( array_key_exists( 'place', $checkin ) &&
          array_key_exists( 'location', $checkin['place'] ) &&
          array_key_exists( 'latitude', $checkin['place']['location'] ) &&
          array_key_exists( 'longitude', $checkin['place']['location'] )
        ) 
     {
         echo ("<p>{$checkin['place']['location']['latitude']}</p>");
         echo ("<p>{$checkin['place']['location']['longitude']}</p>");
    }
}
于 2013-08-19T11:35:15.160 に答える