在PHP中将两个数组合并为键值对
我有两个相同大小的数组。 我想合并两个,所以一个的值是新的数组的关键指标,新的数组的值是另一个的值。
现在我只是循环访问数组并手动创build新的数组,但我有一种感觉,有一个更优雅的方式去做这件事。 我没有看到任何arraysfunction为此目的,但也许我错过了什么? 有没有简单的方法来解决这个问题?
$mapped_array = mapkeys($array_with_keys, $array_with_values);
请参阅PHP.net上的array_combine()
。
(从容易阅读的文档)
array_combine – 通过使用一个数组的键和一个数组的值来创build一个数组
描述
array array_combine ( array $keys , array $values )
通过使用keys数组中的值作为关键字,并使用values数组中的值作为相应的值来创build一个数组。
参数
键 – 要使用的键的数组。 密钥的非法值将被转换为string。
值 – 要使用的值的数组
例
<?php $a = array('green', 'red', 'yellow'); $b = array('avocado', 'apple', 'banana'); $c = array_combine($a, $b); print_r($c); ?>
上面的例子会输出:
Array ( [green] => avocado [red] => apple [yellow] => banana )
这应该做的伎俩
function array_merge_keys($ray1, $ray2) { $keys = array_merge(array_keys($ray1), array_keys($ray2)); $vals = array_merge($ray1, $ray2); return array_combine($keys, $vals); }