リクルートWebサービス(ホットペッパーAPI)のXMLをPHPで展開する

ざっと要点だけメモ。

'Z011', 'food' => 'R038');
// XMLをオブジェクトで取得する
$xml = getXml('http://webservice.recruit.co.jp/hotpepper/gourmet/v1/', $params);

// 展開、配列に格納
$shops = array();
foreach($xml->shop as $v){
$shops["$v->id"] = array('id' => $v->id,
'name' => $v->name,
'img' => $v->photo->mobile->s,
'catcha' => $v->catch,
'url' => $v->urls->pc
);
}
?>

/*
* URLからXMLを取得しXMLオブジェクトを返すファンクション
*
* $base_url : APIの検索条件パラメータなしのベースURL
* $args : 検索条件パラメータの配列('パラメータ名' => '値')
*/
function getXml($base_url, $args) {
/*
* リクルートWebサービス ホットペッパーグルメサーチAPI
* API Version : 1.25
* Reference : http://webservice.recruit.co.jp/hotpepper/reference.html
*/

// リクエストURL生成
$baseurl = $base_url;
$params = array();
$params['key'] = '5aeff13e65116bb4';
foreach($args as $k => $v){
$params[$k] = $v;
}

$req = '';
foreach ($params as $k => $v) {
$req .= '&'.$k.'='.$v;
}
$req = substr($req, 1);

// リクエストURLに統合
$url = $baseurl.'?'.$req;

//echo "".htmlspecialchars($url)."
";

$xml = @simplexml_load_file($url) or die("XMLパースエラー");

return $xml;
}