我有两个相同大小的数组。我想合并这两个,所以一个的值是新数组的关键索引,新数组的值是另一个的值。现在我只是循环遍历数组并手动创建新数组,但我觉得有一种更优雅的方式可以解决这个问题。我没有为此目的看到任何数组函数,但也许我错过了什么?沿着这些方向有一个简单的方法吗?$mapped_array = mapkeys($array_with_keys, $array_with_values);
3 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
array_combine - 通过使用一个数组作为键而另一个数组作为其值来创建数组
描述
array array_combine ( array $keys , array $values )
使用keys数组中的值作为键创建数组,将values数组中的值作为相应的值。
参数
keys - 要使用的键数组。key的非法值将转换为字符串。
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
)
慕莱坞森
TA贡献1810条经验 获得超4个赞
这应该可以解决问题
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);
}
- 3 回答
- 0 关注
- 1824 浏览
添加回答
举报
0/150
提交
取消