JavaScript
x
"address_components": [
{
"long_name": "8",
"short_name": "8",
"types": [
"street_number"
]
},
{
"long_name": "Promenade",
"short_name": "Promenade",
"types": [
"route"
]
},
{
"long_name": "Cheltenham",
"short_name": "Cheltenham",
"types": [
"postal_town"
]
},
{
"long_name": "Gloucestershire",
"short_name": "Gloucestershire",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"long_name": "England",
"short_name": "England",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "United Kingdom",
"short_name": "GB",
"types": [
"country",
"political"
]
},
{
"long_name": "GL50 1LR",
"short_name": "GL50 1LR",
"types": [
"postal_code"
]
}
],
Need to get the postal_code value, which is the value of long_name with types=postal_code. In the api result,it seems types itself is an array. Looping and finding out is a bad method. also array_search also don’t work. Can anybody help me.
Advertisement
Answer
Just loop through the array and find an item with the postal code:
JavaScript
foreach ($arr["address_components"] as $item) {
if (in_array("postal_code", $item["types"])) {
echo $item["long_name"];
}
}
I’ll leave error handling to you.