【PHP】連想配列、配列への追加など
所沢でWebサイト制作や欧州輸入品を販売しているRishunTradingです。
もともと「C言語」→「C++」→・・・と来た人間なので、PHPの連想配列の操作を結構毎回忘れてしまいます。ですので、今回、ちゃんとまとめておこうかと、思い立った次第です。。。
連想配列の追加方法
1.array_mergeを利用する方法
1 2 3 4 5 | $stock = array('field1' => 'value1'); $stock = array_merge($stock, array('field2' => 'value2')); var_dump($stock); //=>array(2) { ["field1"]=> string(6) "value1" ["field2"]=> string(6) "value2" } |
2.+演算子を利用する方法
1 2 3 4 5 | $stock = array('field1' => 'value1'); $stock = $stock + array('field2' => 'value2'); var_dump($stock); //=>array(2) { ["field1"]=> string(6) "value1" ["field2"]=> string(6) "value2" } |
または、以下
1 2 3 4 5 | $stock = array('field1' => 'value1'); $stock += array('field2' => 'value2'); var_dump($stock); //=>array(2) { ["field1"]=> string(6) "value1" ["field2"]=> string(6) "value2" } |
3.[]を利用する方法
1 2 3 4 5 | を利用する方法"]$stock = array('field1' => 'value1'); $stock['field2'] = 'value2'; var_dump($stock); //=>array(2) { ["field1"]=> string(6) "value1" ["field"]=> string(6) "value2" } |
※同一キーの時のarray_mergeと+演算子の違い
同一キーの場合には、array_mergeはvalue値を上書きするが、+演算子ではvalue値を上書きしません。
1 2 3 4 5 6 7 8 | $stock_1 = array('field1' => 'value1'); $stock_2 = array('field1' => 'value2'); var_dump(array_merge($stock_1, $stock_2)); //=>array(1) { ["field1"]=> string(6) "value2" } var_dump($stock_1 + $stock_2); //=>array(1) { ["field1"]=> string(6) "value1" } |
キーが数値の場合、array_mergeはキーを採番され、+演算子はそのままとなる。
1 2 3 4 5 6 7 8 | $stock_1 = array(6 => 'value1'); $stock_2 = array(9 => 'value2'); var_dump(array_merge($stock_1,$stock_2)); //=>array(2) { [0]=> string(6) "value1" [1]=> string(6) "value2" } var_dump($hoge_1 + $hoge_2); //=>array(2) { [6]=> string(6) "value1" [9]=> string(6) "value2" } |
配列の追加方法
1.array_pushを利用する方法
array_push(配列, 追加する要素[,追加する要素…]
1 2 3 4 5 | $stock = array('AAA','BBB'); array_push($stock,'CCC','DDD'); var_dump($stock); //=>array(4) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" [2]=> string(3) "CCC" [3]=> string(3) "DDD" } |
2.[]を使う方法
1 2 3 4 5 | を使う方法"]$stock[] = 'AAA'; $stock[] = 'BBB'; var_dump($stock); //=>array(2) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" } |
ネットの記事を見ると、array_pushよりも[]を使った方が早いようです。
3.array_mergeを使う方法
PHPの配列はキーが数値の連想配列であるため、array_mergeも使えます。
また、array_mergeはキーが数値の場合、キーを採番しなおすので追加した形になる。
1 2 3 4 5 | $stock = array('AAA','BBB'); $stock2 = array_merge($stock,array('CCC','DDD')); var_dump($stock2); //=>array(4) { [0]=> string(3) "AAA" [1]=> string(3) "BBB" [2]=> string(3) "CCC" [3]=> string(3) "DDD" } |
今回は、PHPの連想配列についてまとめてみました。
皆さまのお役に立てれば幸いです。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル