<?php
$json = '{
"results" : [
{
"address_components" : [
{
"long_name" : "301",
"short_name" : "301",
"types" : [ "subpremise" ]
},
{
"long_name" : "880",
"short_name" : "880",
"types" : [ "street_number" ]
},
{
"long_name" : "N Street",
"short_name" : "N St",
"types" : [ "route" ]
},
{
"long_name" : "South Addition",
"short_name" : "South Addition",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Anchorage",
"short_name" : "Anchorage",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Anchorage",
"short_name" : "Anchorage",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Alaska",
"short_name" : "AK",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "99501",
"short_name" : "99501",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "880 N Street #301, Anchorage, AK 99501, USA",
"geometry" : {
"location" : {
"lat" : 61.21391800000001,
"lng" : -149.908357
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 61.21526698029151,
"lng" : -149.9070080197085
},
"southwest" : {
"lat" : 61.2125690197085,
"lng" : -149.9097059802915
}
}
},
"partial_match" : true,
"types" : [ "subpremise" ]
}
],
"status" : "OK"
}';
function getAddress($elements){
$addr = [];
foreach($elements as $e){
if(isset($e['types']) && in_array("street_number",$e['types'])) $addr['street_number'] = $e['long_name'];
if(isset($e['types']) && in_array("street_number",$e['types'])) $addr['route'] = $e['long_name'];
if(isset($e['types']) && in_array("administrative_area_level_2",$e['types'])) $addr['city'] = $e['long_name'];
}
return $addr;
}
$obj = json_decode($json, true);
$c = $obj['results'][0]['address_components'];
var_dump(getAddress($c));
- Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array(3) {
["street_number"]=>
string(3) "880"
["route"]=>
string(3) "880"
["city"]=>
string(9) "Anchorage"
}
preferences:
284.08 ms | 404 KiB | 381 Q