在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); }