$consumer_key , 'lang' => 'ja-JP' , 'format' => 'json' , 'view' => 'long' , ) ; // リクエストURL $request_url = 'http://where.yahooapis.com/v1/places.q(' . rawurlencode( $keyword ) . ')' . '?' . http_build_query( $params ) ; // リクエストURL // アイテムデータをJSON形式で取得する (CURLを使用) $curl = curl_init() ; // オプションのセット curl_setopt( $curl , CURLOPT_URL , $request_url ) ; curl_setopt( $curl , CURLOPT_HEADER, 1 ) ; curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false ) ; // 証明書の検証を行わない curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ; // curl_execの結果を文字列で返す curl_setopt( $curl , CURLOPT_TIMEOUT , 5 ) ; // タイムアウトの秒数 // 実行 $res1 = curl_exec( $curl ) ; $res2 = curl_getinfo( $curl ) ; // 終了 curl_close( $curl ) ; // 取得したデータ $json = substr( $res1, $res2['header_size'] ) ; // 取得したデータ(JSONなど) $header = substr( $res1, 0, $res2['header_size'] ) ; // レスポンスヘッダー (検証に利用したい場合にどうぞ) // HTML用 $html = '' ; // JSONデータをオブジェクト形式に変換する $obj = json_decode( $json ) ; // HTMLを作成 $html .= '

実行結果

' ; // エラー判定 if( !$obj || !isset($obj->places->place) || empty($obj->places->place) ) { $html .= '

データを取得できませんでした…。設定を再確認して下さい。

' ; } else { // HTML $html .= '

' . $keyword . '」で検索したところ、合計で' . count( $obj->places->place ) . '件の場所がヒットしました。

' ; // 解析 foreach( $obj->places->place as $item ) { // 各データ $woeid = $item->woeid ; // WOEID $name = $item->name ; // 場所名 $latitude = $item->centroid->latitude ; // 緯度 $longitude = $item->centroid->longitude ; // 経度 // 出力 $html .= '
' ; $html .= '
場所名
' ; $html .= '
' . $name . '
' ; $html .= '
WOEID
' ; $html .= '
' . $woeid . '
' ; $html .= '
緯度
' ; $html .= '
' . $latitude . '
' ; $html .= '
経度
' ; $html .= '
' . $longitude . '
' ; $html .= '
' ; } } // 取得したデータ $html .= '

取得したデータ

' ; $html .= '

下記のデータを取得できました。

' ; $html .= '

JSON

' ; $html .= '

' ; $html .= '

レスポンスヘッダー

' ; $html .= '

' ; ?> WOEIDを取得するサンプルデモ

配布元: Syncer