我必须使用数组:
$arr1 = [
'name' => 'Person Name',
'surname' => 'Person Surname',
];
$arr2 = [
'name' => 'John',
'surname' => 'Doe',
];
我想让arr1值成为arr2的数组键:
$arr = [
'Person Name' => 'John',
'Person Surname' => 'Doe',
];
另请注意,任何数组都可以是任何顺序,例如第一个数组名称然后是姓氏,第二个数组是姓氏然后是名字。 任何帮助,将不胜感激。感谢
我一直在寻找一种更简单的方法,而不必遍历数组并创建另一个。结果如下:
ksort($arr1);
ksort($arr2);
array_combine(array_values($arr1), array_values(array_intersect_key($arr2, $arr1)));
答案 0 :(得分:3)
使用foreach
$arr3 = [];
foreach($arr1 as $key => $val){
$arr3[$val] = $arr2[$key];
}
print_r($arr3);
答案 1 :(得分:1)
您可以轻松实现这一目标:
$new_array = array();
foreach((array) $arr1 as $index=>$key)
{
$new_array[$key] = $arr2[$index];
}
其中$key
是第一个数组的键,$arr2[$index]
是第二个数组的值