#連想配列の追加
1. array_mergeを使う方法
array_merge
$hoge = array('key1'=>'value1');
$hoge = array_merge($hoge,array('key2'=>'value2'));
var_dump($hoge);
//=>array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" }
##2. +演算子を使う方法
+演算子
$hoge = array('key1'=>'value1');
$hoge = $hoge + array('key2'=>'value2');
var_dump($hoge);
//=>array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" }
もちろん、これでもOK
+演算子
$hoge = array('key1'=>'value1');
$hoge += array('key2'=>'value2');
var_dump($hoge);
//=>array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" }
##3. []を使う方法
要素ひとつだけなら[]も使える。
[]を使用
$hoge = array('key1'=>'value1');
$hoge['key2'] = 'value2';
var_dump($hoge);
//=>array(2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" }
※array_mergeと+演算子の違い
- 同一キーの場合、array_mergeはvalue値を上書きして、+演算子はvalue値を上書きしない。
array_mergeと+演算子の違い(同一キーの場合)
$hoge_1 = array('key1'=>value1);
$hoge_2 = array('key1'=>value2);
var_dump(array_merge($hoge_1,$hoge_2));
//=>array(1) { ["key1"]=> string(6) "value2" }
var_dump($hoge_1 + $hoge_2);
//=>array(1) { ["key1"]=> string(6) "value1" }
- キーが数値の場合、array_mergeはキーを採番し直す。+演算子はそのまま。
array_mergeと+演算子の違い(キーが数値の場合)
$hoge_1 = array(5=>value1);
$hoge_2 = array(8=>value2);
var_dump(array_merge($hoge_1,$hoge_2));
//=>array(2) { [0]=> string(6) "value1" [1]=> string(6) "value2" }
var_dump($hoge_1 + $hoge_2);
//=>array(2) { [5]=> string(6) "value1" [8]=> string(6) "value2" }
#配列の追加
##1 . array_pushを使う方法
array_push (配列,追加する要素[,追加する要素 ... ] )
array_push
$hoge = array('AAA','BBB');
array_push($hoge,'CCC','DDD');
var_dump($hoge);
//=>array(4) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" [2]=> string(3) "CCC" [3]=> string(3) "DDD" }
##2 . []を使う方法
[]を使う
$hoge[] = 'AAA';
$hoge[] = 'BBB';
var_dump($hoge);
//=>array(2) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" }
ちなみに、array_pushと[]では、[]を使った方が速度は早いらしい。
##3 . array_mergeを使う方法
PHPで配列はキーが数値の連想配列なので、array_mergeが使える。
また、array_mergeはキーが数値の場合、キーを採番し直すのでちょうど追加したような形になる。
array_push
$hoge = array('AAA','BBB');
$fuga = array_merge($hoge,array('CCC','DDD'));
var_dump($fuga);
//=>array(4) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" [2]=> string(3) "CCC" [3]=> string(3) "DDD" }