・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年6月18日に投稿されました。)
PHPで配列の中に要素を追加する関数として、array_push()があります。
array_push()とは配列に要素を追加する関数になります。
要素として値はもちろんですが、配列を要素として追加することも可能です。
この関数の挙動として、指定した配列の一番後ろに自動的に追加されるようになります。
そのため、array_push()では要素の位置を指定して追加することはできませんので注意してください。
また、2次元配列や3次元配列のような多次元配列でもarray_push()を使用することで、配列に要素を追加することができます。
今回はPHPのarray_push()で配列に要素を追加する方法について紹介していきます。
array_push()とは
array_push()とは配列に要素を追加する関数となります。
どの位置に追加するかのインデックス指定はできず、一番後ろに自動的に追加されるようになります。
array_push()の書き方
array_push()の書き方は下記のようになります。
1 | <?php array_push('対象の配列', '追加する要素'); ?> |
array_push()は必須パラメータである「対象の配列」と「追加する要素」の2つを指定することで使用することができます。
array_push()のパラメータ
array_push()のパラメータは下記のようになります。
- 対象の配列(必須)
追加される対象の配列を指定する - 追加する要素(必須)
配列に追加するための要素を指定する
1つ目のパラメータである「対象の配列」は要素を追加される配列を指定します。
そして、2つ目のパラメータである「追加する要素」は配列に追加する要素を指定します。
どちらとも要素を直接指定しても構いませんが、変数名として指定しても問題ありません。
array_push()で配列に要素を追加するサンプルコード
array_push()で配列に要素を追加するサンプルコードをご紹介します。
ここでは下記の2つの場合でarray_push()を使用してみます。
- 要素が存在する配列に使用する場合
- 要素が空である配列に使用する場合
要素が存在する配列に使用する場合
要素が存在する配列にarray_push()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 追加前の配列 '; $array1 = ['渋谷', '台東', '練馬', '品川', '港']; print_r($array1); echo '⚫︎ 追加する値'; $val1 = '千代田'; echo $val1; echo '⚫︎ array_push()使用後'; array_push($array1, $val1); print_r($array1); ?> |
実行結果
array_push()によって、配列の中に要素が追加されます。
そのため、「千代田」が配列の末尾に追加されています。
要素が空である配列に使用する場合
要素が空である配列にarray_push()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 追加前の配列 '; $array1 = []; print_r($array1); echo '⚫︎ 追加する値'; $val1 = '台東'; echo $val1; echo '⚫︎ array_push()使用後'; array_push($array1, $val1); print_r($array1); ?> |
実行結果
array_push()によって、配列の中に値が追加されます。
そのため、「台東」が配列に追加されています。
array_push()で配列を要素として追加する場合
array_push()で配列を要素として追加するには、2つ目のパラメータである「追加する要素」に配列を指定します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $array1 = ['渋谷', '台東', '練馬', '品川', '港']; print_r($array1); echo '⚫︎ 追加する値'; $val2 = ['新宿','足立','世田谷']; print_r($val2); echo '⚫︎ array_push()使用後'; array_push($array1, $val2); print_r($array1); ?> |
実行結果
array_push()によって指定した配列の中に配列が追加されています。
そのため、配列の中に「新宿」と「足立」と「世田谷」が配列形式で追加されています。
array_push()で配列に複数の要素を追加する場合
array_push()で配列に複数の要素を追加するには、3つ目のパラメータ以降に「追加する要素」を指定します。
例えば、一気に2つの値や配列を要素として追加したい場合は下記のようなコードとなります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $array1 = ['渋谷', '台東', '練馬', '品川', '港']; echo '・追加前の配列: '; print_r($array1); $val1 = '千代田'; echo '追加する値1: '.$val1; $val2 = '北'; echo '追加する値2: '.$val2; $val3 = '中野'; echo '追加する値3: '.$val3; array_push($array1, $val1, $val2, $val3); echo '・追加後の配列: '; print_r($array1); ?> |
実行結果
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php $array1 = ['渋谷', '台東', '練馬', '品川', '港']; echo '・追加前の配列: '; print_r($array1); $array1_1 = ['千代田', '豊島']; echo '追加する配列1: '; print_r($array1_1); $array1_2 = ['北', '荒川']; echo '追加する配列2: '; print_r($array1_2); $array1_3 = ['中野', '江戸川']; echo '追加する配列3: '; print_r($array1_3); array_push($array1, $array1_1, $array1_2, $array1_3); echo '・追加後の配列: '; print_r($array1); ?> |
実行結果
3つ目と4つ目のパラメータに値を指定することで、配列に一気に2つの値が追加されています。
また、配列を指定することで配列に一気に2つの配列が追加されています。
array_push()で多次元配列に要素を追加するサンプルコード
array_push()で多次元配列に要素を追加するサンプルコードをご紹介します。
こちらも下記の2つの場合でarray_push()を使用してみます。
- 2次元配列に要素を追加する場合
- 3次元配列に要素を追加する場合
2次元配列に要素を追加する場合
2次元配列に要素を追加する場合にarray_push()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $array2 = [ ['渋谷', '台東'], ['中川', '千種', '港'] ]; echo '・追加前の配列: '; print_r($array2); $val1 = '中央'; echo '追加する値: '.$val1; $val2 = '天王寺'; echo '追加する値: '.$val2; array_push($array2[1], $val1); array_push($array2, $val2); echo '・追加後の配列: '; print_r($array1); ?> |
実行結果
また、array_push()で配列を要素として2次元配列に追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php $array2 = [ ['渋谷', '台東'], ['中川', '千種', '港'] ]; echo '・追加前の配列: '; print_r($array2); $val1 = ['文京', '中野']; echo '追加する配列1: '; print_r($val1); $val2 = ['城東', '住吉']; echo '追加する配列2: '; print_r($val2); array_push($array2[0], $val1); array_push($array2, $val2); echo '・追加後の配列: '; print_r($array2); ?> |
実行結果
array_push()によって、2次元配列の中に値や配列が要素として追加されています、
また、配列の変数の後ろにインデックスを1つ指定することで、2次元配列の中にある配列の中に要素を追加することができます。
3次元配列に要素を追加する場合
3次元配列に要素を追加する場合にarray_push()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php $array3 = [ [['渋谷', '台東'],['中川', '千種', '港']], [['阿倍野','旭']] ]; echo '・追加前の配列: '; print_r($array3); $val1 = '中央'; echo '追加する値: '.$val1; $val2 = '博多'; echo '追加する値: '.$val2; $val3 = '秋葉'; echo '追加する値: '.$val3; array_push($array3[0][1], $val1); array_push($array3[1], $val2); array_push($array3, $val3); echo '・追加後の配列: '; print_r($array3); ?> |
実行結果
また、array_push()で配列を要素として3次元配列に追加してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php $array3 = [ [['渋谷', '台東'],['中川', '千種', '港']], [['阿倍野','旭']] ]; echo '・追加前の配列: '; print_r($array3); $val1 = ['天白', '南']; echo '追加する配列1: '; print_r($val1); $val2 = ['博多', '早良']; echo '追加する配列2: '; print_r($val2); $val3 =['秋葉', '江南']; echo '追加する配列3: '; print_r($val3); array_push($array3[0][1], $val1); array_push($array3[1], $val2); array_push($array3, $val3); echo '・追加後の配列: '; print_r($array3); ?> |
実行結果
array_push()によって、3次元配列の中に値や配列が要素として追加されています、
配列の変数の後ろにインデックスを1つ指定することで、3次元配列の中にある2次元配列の中に要素を追加することができます。
また、配列の変数の後ろにインデックスを2つ指定することで、2次元配列の中にある配列の中に要素を追加することができます。
array_push()で連想配列に要素を追加するサンプルコード
array_push()で連想配列に要素を追加するサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php echo '⚫︎ 対象の配列'; $array1 = [ 'Shibuya' => '渋谷', 'Taito' => '台東', 'Nerima' => '練馬', 'Shinagawa' => '品川', 'Minto' => '港' ]; print_r($array1); echo '⚫︎ 追加する値'; $val2 = '荒川'; print_r($val2); echo '⚫︎ array_push()使用後'; array_push($array1, $val2); print_r($array1); ?> |
実行結果
array_push()によって、連想配列に要素が追加されています、
しかし、追加した要素に対してキーを設定することはできません。
もし、キーを指定して連想配列に追加したいならarray_push()を使用せずに「$array1[‘Arakawa’] = ‘荒川’;」と追記しましょう。
配列の先頭に要素を追加する場合
配列の先頭に要素を追加する場合は、array_unshift()を使用します。
array_unshift()とは、指定した配列の先頭に要素を追加する関数となります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php echo '⚫︎ 追加前の配列: '; $array1 = ['渋谷', '台東', '練馬', '品川', '港']; print_r($array1); $val1 = '千代田'; echo '⚫︎ 追加する値: '.$val1; echo '⚫︎ 追加後の配列: '; array_unshift($array1, $val1); print_r($array1); ?> |
実行結果
array_unshift()によって、配列の先頭に要素を追加しています。
そのため、「千代田」が配列の先頭に表示されています。
もし、array_unshift()について詳しく知りたい場合は下記の記事をご参考ください。
配列に位置を指定して要素を追加したい場合
配列に位置を指定して要素を追加したい場合は、array_splice()を使用します。
array_splice()とは 配列の一部分を配列として抜き出す関数となります。
そのため、array_splice()を使って下記のコードのように追記すると、配列の位置を指定して要素を追加することができます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?php $array4_1 = ['渋谷', '台東']; echo '・追加前の配列'; print_r($array4_1); $val1 = '品川'; echo '追加する値: '.$val1.; array_splice($array4_1, 0, 0, $val1); echo '・追加後の配列: '; print_r($array4_1); $array4_2 = [ ['渋谷', '台東'], ['千種', '港'] ]; echo '・追加前の配列'; print_r($array4_2); $val2_1 = '中川'; echo '追加する値1: '.$val2_1; $val2_2 = '北'; echo '追加する値2: '.$val2_2; array_splice($array4_2[1], 1, 0, $val2_1); array_splice($array4_2, 1, 0, $val2_2); echo '・追加後の配列: '; print_r($array4_2); ?> |
実行結果
array_splice()によって、指定した位置に要素が追加されてます。
また、変数の後ろにインデックスを指定することで、多次元配列でも指定した位置に要素を追加することができます。
まとめ
⚫︎ array_push()とは配列に要素を追加する関数である
⚫︎ array_push()を使用するには2つのパラメータが必須となる
・ 追加したい配列(必須)
・ 追加する要素(必須)
⚫︎ array_push()は要素が存在する配列に追加することができる
⚫︎ array_push()は要素が空である配列にも使用することができる
⚫︎ array_push()で配列を要素して追加するには、「追加する要素」に配列を指定する
⚫︎ array_push()で配列に複数の要素を追加するには、3つ目のパラメータ以降に追加したい要素を指定する
⚫︎ array_push()は多次元配列でも要素を追加することができる
⚫︎ array_push()は連想配列でも要素を追加することができる
(しかし、キーを設定して追加することはできない)
⚫︎ 配列の先頭に要素を追加する場合は、array_unshift()を使用する
⚫︎ 配列に位置を指定して要素を追加したい場合は、array_splice()を使用する
(多次元配列でも可能)