環境
php7.2
事象
array_merge を使って、配列に配列を追加したつもりが、追加されない。
$array1 = array('1234' => 'hoge');
$array2 = array('0987' => 'fuga');
array_merge($array1, $array2);
var_dump($array1);
添字が数値だからリセットされるよ。
(自分がやったときはもっと複雑なコードだったので発見が遅くなった。)
PHP: array_merge - Manual
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
公式マニュアルにしっかりと載ってる。
入力配列の中にある数値添字要素の添字の数値は、 結果の配列ではゼロから始まる連続した数値に置き換えられます。
数値添字が振りなおされることに注意!
数値を維持したまま連想配列をついかしたくば、
array_mergeでなく、
+=
を使うべきですな。
$array1 += $array2;
コメント