在 PHP 中将两个数组合并为键值对
我有两个相同大小的数组。我想合并两者,以便一个的值是新数组的关键索引,而新数组的值是另一个数组的值。
现在,我只是循环浏览数组并手动创建新数组,但我有一种更优雅的方式可以做到这一点。我没有看到任何用于此目的的数组函数,但也许我错过了一些东西?有没有一种简单的方法可以沿着这些路线做到这一点?
$mapped_array = mapkeys($array_with_keys, $array_with_values);
我有两个相同大小的数组。我想合并两者,以便一个的值是新数组的关键索引,而新数组的值是另一个数组的值。
现在,我只是循环浏览数组并手动创建新数组,但我有一种更优雅的方式可以做到这一点。我没有看到任何用于此目的的数组函数,但也许我错过了一些东西?有没有一种简单的方法可以沿着这些路线做到这一点?
$mapped_array = mapkeys($array_with_keys, $array_with_values);
(从文档便于阅读)
array_combine — 通过将一个数组用于键,将另一个数组用于其值来创建数组
描述
array array_combine ( array $keys , array $values )
通过将键数组中的值用作键,将值数组中的值用作相应的值来创建数组。
参数
键 - 要使用的键数组。键的非法值将转换为字符串。
值 - 要使用的值数组
例
<?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
)