Данные из запроса Google API иногда отсутствуют (например, при вводе неверного адреса), и когда это происходит, возникает ужасная ошибка неизвестного ключа.Чтобы попытаться избежать уродливой ошибки, я обернул вызов в условное выражение, но, похоже, не могу заставить его работать таким образом, потому что мои навыки объектно-ориентированного программирования отсутствуют.Ниже приведено то, что я имею, и некоторые попытки, которые отмечены, так что я делаю не так?Мне действительно все равно, только если $ dataset-> results [0] допустимо, так как все, что будет после этого, будет, если это так.
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=$Address&key=$googlekey";
// Retrieve the URL contents
$c = curl_init();
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_FRESH_CONNECT, true);
curl_setopt($c, CURLOPT_URL, $url);
$jsonResponse = curl_exec($c);
curl_close($c);
$dataset = json_decode($jsonResponse);
if (isset($dataset->results[0])) :
//if (isset($dataset->results[0]->geometry->location)) :
//if (!empty($dataset)) :
//if (!empty($dataset) && json_last_error() === 0) :
$insertedVal = 1;
$latitude = $dataset->results[0]->geometry->location->lat;
$longitude = $dataset->results[0]->geometry->location->lng;
return "$latitude,$longitude";
endif;