我有两个数组。一个数组的键是另一个的值。这是代码:
$arr1 = array(
'a' => 'apple',
'b' => 'banana',
'c' => 'pear',
);
$arr2 = array(
'bird' => 'a',
'dog' => 'b',
);我的问题是,如何将两个数组组合在一起,例如:
$arr3 = array(
'bird' => 'apple',
'dog' => 'banana',
);有可能有什么数组函数可以这样做吗?
发布于 2015-10-27 02:49:54
<?php
$arr3 = array();
foreach ($arr2 as $item => $value) {
$arr3[$item] = $arr1[$value];
}
print_r($arr3);不管怎么说都是这样的。
如果你真的想要合并数组,array_merge会做的很好。
发布于 2015-10-27 02:59:02
编辑:这是一种有趣的方法,并与键匹配:
$arr3 = array_combine(array_intersect_key($k = array_flip($arr2), $arr1),
array_intersect_key($arr1, $k));没有密钥匹配的原始
这里有个办法。哪个数组更长并不重要:
$arr3 = array_combine(array_slice(array_keys($arr2), 0, count($arr1)),
array_slice($arr1, 0, count($arr2)));https://stackoverflow.com/questions/33359110
复制相似问题