我想如何从PHP数组中的google place api提供的响应中存储酒店名称和位置。如果我的搜索字符串是纽约的 餐厅 。
api的响应采用 json 格式。
我发送搜索请求的脚本是:
<?php
if(isset($_GET['text']))
{
if(!empty($_GET['text']))
{
$search_text=strip_tags($_GET['text']);
$hostname = "https://maps.googleapis.com/maps/api/place/textsearch/json?query=$search_text&sensor=true&key=AIzaSyDVdJtIAvhmHE7e2zoxA_Y9qWRpp6eE2o8";
// read the post from PayPal system and add 'cmd'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$hostname");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$res = curl_exec($ch);
curl_close($ch);
if(!$res)
{
// error log
echo'Unable to find results.';
} else {
**// ALL output printing code goes down here**
//$res=json_decode($res);
//var_dump(json_decode($res));
$obj=var_dump(json_decode($res, true));
print_r($obj['"results']);
}
} else {
echo'<h4><font color="red">Please enter the text to search.</font></h4>';
}
}
?>
嗯,上面代码的输出是json格式的。但我需要从json输出中检索餐厅名称及其位置。
所以,请建议我提取确切输出的方法。
答案 0 :(得分:2)
正如我所看到的,结果键包含包含所需数据的数组。 做一些像:
$jsonContent = json_decode($res, true);
foreach ($jsonContent['results'] as $result) {
// now you have the $result array that contains the location of the place
// and the name ($result['formatted_address'], $result['name']) and other data.
}
我希望你知道从这一点开始做什么。