・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月25日に投稿されました。)
PHPで配列や連想配列に要素を追加する方法として様々な方法があります。
例えば、[]を使用する方法や、array_push()のような関数を使って、配列や連想配列に要素を追加する方法もあります。
しかし、どの方法も配列や連想配列に使用できるわけではありませんので、注意してください。
また、配列や連想配列に要素を追加する機会はプログラミングをする上で必ずやってきます。
そのため、配列に要素を追加するにはどの方法が一番最適か、連想配列に要素を追加するにはどの方法が一番最適かをこの記事で確認しておきましょう。
今回はPHPの配列や連想配列に要素を追加する6つの方法について紹介していきます。
配列とは
配列とは、複数の値を格納できるデータ型になります。
1つの変数を定義することで、string型、int型、float型、bool型、array型など様々な型のデータを「値」として格納することができ、0から始まる「キー」が紐付けられるようになります。
また、複数の値を格納できることから、大量のデータを1つの変数で管理したい場合に使用することができます。
連想配列とは
連想配列とは、通常の配列とほとんど同じですが、キーに名前をつけることができる配列となります。
キーを指定して値を取り出すことになるので、番号としてつけられる配列よりも管理がしやすくなります。
配列や連想配列に要素を追加する6つの方法
配列や連想配列に要素を追加する6つの方法についてご紹介します。
6つの方法とは下記のようになります。
- []を使用する
- +演算子を使用する
- array_push()を使用する
- array_unshift()を使用する
- array_splice()を使用する
- array_merge()を使用する
それぞれの方法について解説します。
まず、1つ目は「[]」を使用する方法です。
「$配列名[] = ‘追加したい要素’;」と追記することで、指定した配列の後ろに要素が追加されるようになります。
1 2 3 | <?php $配列名[] = '追加したい要素'; ?> |
2つ目は「+演算子」で要素を追加する方法です。
追加したい要素を配列として定義し、+演算子を使用することで追加される配列と結合することができます。
1 2 3 | <?php $追加される配列 = $追加される配列 + $追加したい要素がある配列; ?> |
3つ目は、array_push()で要素を追加する方法です。
array_push()とは、指定した配列の後ろに要素を追加する関数になります。
1 2 3 | <?php array_push('$配列名', '追加する要素'); ?> |
もし、array_push()について詳しく知りたい場合は下記の記事ご参考下さい。
4つ目は、array_unshift()で要素を追加する方法です。
array_unshift()とは、指定した配列の先頭に要素を追加する関数になります。
1 2 3 | <?php array_shift('$配列名', '追加する要素'); ?> |
もし、array_unshift()について詳しく知りたい場合は下記の記事ご参考下さい。
5つ目は、array_splice()で要素を追加する方法です。
array_splice()とは、指定した配列の一部分を置き換える関数となります。
そのままでは置き換えるだけになりますが、任意のパラメータを指定することで指定した場所に要素を追加することができます。
1 2 3 | <?php array_splice('$配列名', 追加したい場所, 0, '追加する要素'); ?> |
6つ目は、array_merge()で要素を追加する方法です。
array_merge()とは、指定した配列の要素の最後に別の配列を結合する関数となります。
こちらは+演算子のように追加したい要素を配列で定義することで、指定した配列に要素を追加することができます。
1 2 3 | <?php $追加される配列 = array_merge($追加される, $追加したい要素がある配列); ?> |
配列に要素を追加するサンプルコード
配列に要素を追加するサンプルコードをご紹介します。
[]で配列に要素を追加する場合
まずは、[]を使って配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列: '; $metro = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '西日暮里'; echo $val; echo '⚫︎ []使用後'; $metro[] = $val; print_r($metro); ?> |
実行結果
[]によって配列に要素(西日暮里)が追加されています。
+演算子で配列に要素を追加する場合
+演算子を使って配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $metro = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $metro1 = ['神田']; print_r($metro1); echo '⚫︎ +演算子使用後'; $metro = $metro + $metro1; print_r($metro); ?> |
実行結果
+演算子によって配列を結合させましたが、指定した配列に要素(神田)が追加されていません。
配列だとキーが0から始まる番号になるので、数字が重複してしまい要素が追加されません。
array_push()で配列に要素を追加する場合
配列にarray_push()を使って要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $metro = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '目黒'; echo $val; echo '⚫︎ array_push()使用後'; array_push($metro, $val); print_r($metro); ?> |
実行結果
array_push()によって指定した配列に要素(目黒)が追加されています。
array_unshift()で配列に要素を追加する場合
array_unshift()を使って配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $metro1 = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '新橋'; echo $val; echo '⚫︎ array_unshift()使用後'; array_unshift($metro, $val); print_r($metro); ?> |
実行結果
array_unshift()によって指定した配列に要素(新橋)が追加されています。
array_splice()で配列に要素を追加する場合
配列にarray_splice()を使って要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $metro = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '新大久保'; echo $val; echo '⚫︎ array_splice()使用後'; array_splice($metro, 3, 0, $val); print_r($metro); ?> |
実行結果
array_splice()によって指定した配列に要素(新大久保)が追加されています。
array_merge()で配列に要素を追加する場合
array_merge()を使って配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $metro = ['東京', '秋葉原', '上野', '五反田', '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = ['巣鴨']; print_r($val); echo '⚫︎ array_merge()使用後'; $metro = array_merge($metro, $val); print_r($metro); ?> |
実行結果
array_merge()によって指定した配列に要素(巣鴨)が追加されています。
連想配列に要素を追加するサンプルコード
連想配列に要素を追加するサンプルコードをご紹介します。
[]で連想配列に要素を追加する場合
[]を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro1); echo '⚫︎ 追加する要素'; $val = '代々木'; echo $val; echo '⚫︎ []使用後'; $metro['Yoyogi'] = $val; print_r($metro); ?> |
実行結果
[]の中に文字列を指定することで、文字列(Yoyogi)が「キー」に設定されて、連想配列に要素(代々木)を追加することができます。
+演算子で連想配列に要素を追加する場合
+演算子を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $metro1 = ['Ikebukuro' => '池袋']; print_r($metro1); echo '⚫︎ +演算子使用後'; $metro = $metro + $metro1; print_r($metro); ?> |
実行結果
+演算子によって連想配列を合併させ、指定した連想配列にキー(Ikebukuro)を指定して要素(池袋)が追加されています。
連想配列の場合は異なるキーを設定しているので、重複してしないことから要素が追加されるようになります。
array_push()で連想配列に要素を追加する場合
array_push()を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '高輪ゲートウェイ'; echo $val; echo '⚫︎ array_push()使用後'; array_push($metro, $val); print_r($metro); ?> |
実行結果
キーは設定できませんが、指定した連想配列にも要素(高輪ゲートウェイ)が追加されています。
array_unshift()で連想配列に要素を追加する場合
array_unshift()を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '田町'; echo $val; echo '⚫︎ array_unshift()使用後'; array_unshift($metro, $val); print_r($metro); ?> |
実行結果
キーは設定できませんが、指定した連想配列にも要素(田町)が追加されています。
array_splice()で連想配列に要素を追加する場合
array_splice()を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = '浜松町'; echo $val; echo '⚫︎ array_splice()使用後'; array_splice($metro, 3, 0, $val); print_r($metro); ?> |
実行結果
キーは設定できませんが、指定した連想配列にも要素(浜松町)が追加されています。
array_merge()で連想配列に要素を追加する場合
array_merge()を使って連想配列に要素を追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php echo '⚫︎ 対象の連想配列'; $metro = [ 'Tokyo' => '東京', 'Akihabara' => '秋葉原', 'Ueno' => '上野', 'Gotanda' => '五反田', 'Shinagawa' => '品川']; print_r($metro); echo '⚫︎ 追加する要素'; $val = ['Ohtsuka' => '大塚']; print_r($val); echo '⚫︎ array_merge()使用後'; $metro = array_merge($metro,$val); print_r($metro); ?> |
実行結果
array_merge()によって指定した連想配列にもキー(Ohtsuka)を設定して要素(大塚)が追加されています。
まとめ
⚫︎ 配列とは、複数の値を格納できるデータ型である
⚫︎ 連想配列とは、キーに名前をつけることができる配列である
⚫︎ 配列や連想配列に要素を追加するには、下記の6つの方法がある
・[]で要素を追加する
・+演算子で要素を追加する
・array_push()で要素を追加するる
・array_unshift()で要素を追加する
・array_splice()で要素を追加する
・array_merge()で要素を追加する
⚫︎ []を使用すると、配列や連想配列でも追加される
⚫︎ +演算子を使用すると、連想配列は追加されるが、配列では追加されない
(配列に使用するとキーが重複するため)
⚫︎ array_push()を使用すると、配列や連想配列でも追加される
(連想配列に使用すると、追加はされるがキーを設定できない)
⚫︎ array_unshift()を使用すると、配列や連想配列でも追加される
(連想配列に使用すると、追加はされるがキーを設定できない)
⚫︎ array_splice()を使用すると、配列や連想配列でも追加される
(連想配列に使用すると、追加はされるがキーを設定できない)
⚫︎ array_merge()を使用すると、配列や連想配列でも追加される