3v4l.org

run code in 300+ PHP versions simultaneously
<?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