我有两个数组,我想要一个,我可以将数组 2 添加到数组 1 中吗?
$array1 = array("Germany" => 2, "Belgium"=> 3);
$array2 = array("France" => 4, "Italy"=> 5);
$final_array = {both arrays in one};
这可能吗?
我有两个数组,我想要一个,我可以将数组 2 添加到数组 1 中吗?
$array1 = array("Germany" => 2, "Belgium"=> 3);
$array2 = array("France" => 4, "Italy"=> 5);
$final_array = {both arrays in one};
这可能吗?
是的,使用该array_merge
功能,如下所示:
$final_array = array_merge($array1, $array2);
print_r($final_array);
当我运行上面的脚本时,它会输出:
Array (
[Germany] => 2
[Belgium] => 3
[France] => 4
[Italy] => 5
)
在这里快速阅读:http ://www.php.net/manual/de/function.array-merge.php
我想提一下,在重复键上,array_merge() 返回第二个数组的值。因此,如果您使用相同的键有不同的值 - 您应该编写自己的函数。例如:
<?php
$a = array('rund' => '2', 'group' => '3', 'kupon' => 'utre', 'tralala' => 'shtur_kupon');
$b = array('grund' => '2', 'group' => 'ww', 'soup' => '1', 'tralala' => 'fd');
function two_arrays_merge_all_values(array $a, array $b) {
foreach ($b as $b_key => $b_value) {
$a_last_index = count($a);
$current_index = 1;
foreach ($a as $a_key => $a_value) {
if ($a_key === $b_key) {
$unique = uniqid();
$a[$b_key . '_' . $unique] = $b[$b_key];
unset($b[$b_key]);
break;
}
if ($current_index == $a_last_index) {
$a[$b_key] = $b[$b_key];
unset($b[$b_key]);
}
$current_index++;
}
}
return $a;
}