2 つのアレイがあり、1 つ欲しいのですが、アレイ 2 をアレイ 1 に追加できますか?
$array1 = array("Germany" => 2, "Belgium"=> 3);
$array2 = array("France" => 4, "Italy"=> 5);
$final_array = {both arrays in one};
これは可能ですか?
2 つのアレイがあり、1 つ欲しいのですが、アレイ 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
のように使う
$final_arr = array_merge($array1 , $array2);
print_r($final_arr);
詳細については、このリンクを参照してください
重複したキーでは、array_merge() が 2 番目の配列から値を返すことに言及したいと思います。したがって、同じキーで異なる値がある場合は、独自の関数を作成する必要があります。例えば:
<?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;
}