我有两个数组。一个人的数组键是另一个值。这是代码:
$arr1 = array(
'a' => 'apple',
'b' => 'banana',
'c' => 'pear',
);
$arr2 = array(
'bird' => 'a',
'dog' => 'b',
);
我的问题是,如何将两个数组组合在一起,如:
$arr3 = array(
'bird' => 'apple',
'dog' => 'banana',
);
是否有一些数组函数可能会这样做?
答案 0 :(得分:1)
<?php
$arr3 = array();
foreach ($arr2 as $item => $value) {
$arr3[$item] = $arr1[$value];
}
print_r($arr3);
无论如何,还有一些事情。
如果你真的想要合并数组,array_merge
将完成工作。
答案 1 :(得分:1)
修改:这是一种有趣的方式并匹配键:
$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)));