如何将多维城市数组合并为键值相等的单维关联数组
实现方案
方法1:单行简洁写法(推荐)
直接使用PHP内置的array_column+array_combine组合即可实现:
$result = array_combine(array_column($a, 'city'), array_column($a, 'city'));
逻辑说明:
array_column($a, 'city')会从原二维数组中提取所有city字段的值,返回索引数组:['Berlin', 'London', 'New York', 'Vienna']array_combine()会将第一个输入数组作为新数组的键,第二个输入数组作为新数组的值,刚好满足你键值相同的需求。
方法2:循环遍历写法(兼容性更强)
如果需要兼容PHP5.5以下的旧版本(array_column为PHP5.5新增功能),可以用foreach循环实现:
$result = []; foreach ($a as $item) { $city = $item['city']; $result[$city] = $city; }
两种方法输出的结果完全一致,均符合需求。
内容的提问来源于stack exchange,提问作者Dragan Petrovic FSD
相关产品推荐
相关产品推荐

