在 PHP 中将两个数组合并为键值对

2022-08-30 14:25:34

我有两个相同大小的数组。我想合并两者,以便一个的值是新数组的关键索引,而新数组的值是另一个数组的值。

现在,我只是循环浏览数组并手动创建新数组,但我有一种更优雅的方式可以做到这一点。我没有看到任何用于此目的的数组函数,但也许我错过了一些东西?有没有一种简单的方法可以沿着这些路线做到这一点?

$mapped_array = mapkeys($array_with_keys, $array_with_values);

答案 1

请参阅 PHP.net 上的array_combine()。


答案 2

(从文档便于阅读)

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
)