我正在创建一个联系表单,需要根据输入的邮政编码更改发送地址。
我有一个邮政编码数组,我可以搜索到这一点,以便我知道输入的邮政编码是否实际上在数组中。
以下是我通过数组搜索的方式:
$districts = json_decode('{
"district" : [
{ "name": "District A", "email": "abc@example.com", "url": "district-a", "postalcodes": ["3311AA","3311AB"] },
{ "name": "District B", "email": "xyz@example.com", "url": "district-b", "postalcodes": ["3317EA","3317EB","3317EC"] },
]
}',true);
$results = array_filter($districts['district'], function($district) {
$key = array_search('3311AB', $district['postalcodes']);
return $key;
});
var_dump($results);
现在我需要根据找到邮政编码的区域返回电子邮件地址。
我如何搜索邮政编码3311AB
并返回其所属地区的电子邮件地址?
答案 0 :(得分:5)
您需要返回$district['email']
$emails = [];
foreach ($districts['district'] as $district) {
if (in_array('3311AB', $district['postalcodes'])) {
$emails[] = $district['email'];
}
}
var_dump($emails);