・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月08日に投稿されました。)
PHPで配列の末尾の要素を抜き出す関数として、array_pop()があります。
array_pop()とは指定した配列の末尾から要素を抜き出す関数になります。
例えば、[‘あ’,’い’,’う’]という配列にarray_pop()を使用すると、「う」のように一番左にある要素を返り値として返されるようになります。
そして、for文と組み合わせて使用することで、配列の末尾要素を繰り返して抜き出すことができます。
また、array_pop()は、連想配列の末尾要素としてキーや値の末尾を抜き出すこともできます。
今回はPHPのarray_pop()で配列の末尾の要素を抜き出す方法について紹介していきます。
array_pop()とは
冒頭でも言いましたが、array_pop()とは、配列の末尾から要素を抜き出す関数となります。
例えば[‘aaa’, ‘bbb’]の配列に対して、array_pop()を使用すると「bbb」が取り出されるように、末尾の要素を返り値として返すようになります。
array_pop()の書き方
array_pop()は下記のように記述します。
1 | <?php array_pop('要素を抜き出したい配列'); ?> |
array_pop()は1つのパラメータを指定することで、使用することができます。
array_pop()のパラメータ
array_pop()のパラメータは下記のようになります。
- 要素を抜き出したい配列(必須):
末尾の要素を抜き出したい配列を指定する
array_pop()は必須なパラメータとして、「要素を抜き出したい配列」を指定します。
array_pop()で配列の末尾から要素を抜き出すサンプルコード
array_pop()で配列の末尾から要素を抜き出すサンプルコードをご紹介します。
ここでは下記の2つの場合でarray_pop()を使用してみます。
- 配列に要素が存在する場合
- 配列に要素が存在しない場合
配列に要素が存在する場合
配列に要素が存在する場合にarray_pop()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php echo '⚫︎ 対象の配列'; $aichi= ['中区','中川区','天白区','北区']; var_dump($aichi); echo '・array_pop()で末尾要素を取り出す'; $aichi_val = array_pop($aichi); echo $aichi_val; echo '・array_pop()使用後'; var_dump($aichi); ?> |
実行結果
配列に要素が存在する場合にarray_pop()を使用すると、配列の末尾要素が取り出されるようになります。
そのため、「北区」が取り出されています。
配列に要素が存在しない場合
配列に要素が存在しない場合にarray_pop()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php echo '⚫︎ 対象の配列'; $aichi = []; var_dump($aichi); echo '・array_pop()で末尾要素を取り出す'; $aichi_val = array_pop($aichi); var_dump($aichi_val); echo '・array_pop()使用後'; var_dump($aichi); ?> |
実行結果
配列に要素が存在しない場合にarray_pop()を使用すると、NULLが返されるようになります。
多次元配列の末尾から要素を抜き出すサンプルコード
array_pop()で多次元配列の末尾から要素を抜き出すサンプルコードをご紹介します。
ここでは下記の2つの場合でarray_pop()を使用してみます。
- 2次元配列の要素を末尾から抜き出す場合
- 3次元配列の要素を末尾から抜き出す場合
2次元配列の要素を末尾から抜き出す場合
2次元配列の要素を末尾から抜き出す場合にarray_pop()を使用してみます。
⚫︎ 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 echo '⚫︎対象の配列'; $aichi = [ ['中区','中川区','天白区','北区'], ['熱田区','南区','守山区','南区'] ]; var_dump($aichi); echo '・array_pop()で1次元配列の末尾要素を取り出す'; $aichi_val1 = array_pop($aichi[0]); echo $aichi_val1; echo '・array_pop()使用後1'; var_dump($aichi); echo '・array_pop()で2次元配列の末尾要素を取り出す'; $aichi_val2 = array_pop($aichi); var_dump($aichi_val2); echo '・array_pop()使用後2'; var_dump($aichi); ?> |
実行結果
array_pop()によって、2次元配列の末尾要素をが取り出されています。
また、配列の変数名の後ろにインデックスを1つ指定することで2次元配列内にある1次元配列の末尾要素を取り出すことができます。
3次元配列の要素を末尾から抜き出す場合
3次元配列の要素を末尾から抜き出す場合にarray_pop()を使用してみます。
⚫︎ 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 | <?php echo '⚫︎対象の配列'; $aichi = [ [['熱田区','南区','守山区','東区'],['中区','中川区','天白区','北区']], [['瑞穂区','緑区','昭和区','千種区'],['名東区','中村区','西区']] ]; var_dump($aichi); echo '・array_pop()で1次元配列の末尾要素を取り出す'; $aichi_val1 = array_shift($aichi[1][0]); echo $aichi_val1; echo '・array_pop()使用後1'; var_dump($aichi); echo '・array_pop()で2次元配列の末尾要素を取り出す'; $aichi_val2 = array_shift($aichi[1]); var_dump($aichi_val2); echo '・array_pop()使用後2'; var_dump($aichi); echo '・array_pop()で3次元配列の末尾要素を取り出す'; $aichi_val3 = array_shift($aichi); var_dump($aichi_val3); echo '・array_pop()使用後2'; var_dump($aichi); ?> |
実行結果
array_pop()によって、3次元配列の末尾要素が取り出されています。
配列の変数名の後ろにインデックスを2つ指定することで、3次元配列内にある1次元配列の末尾要素を取り出すことができます。
そして、配列の変数名の後ろにインデックスを1つ指定することで3次元配列内にある2次元配列の末尾要素を取り出すことができます。
配列の末尾要素を繰り返して抜き出す場合
配列の末尾要素を繰り返して抜き出す場合は、for文の中でarray_pop()を使用します。
⚫︎ 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 31 32 33 34 35 36 37 38 39 40 41 | <?php echo '⚫︎ 対象の配列-1'; $aichi1 = ['中区','中川区','天白区','北区']; var_dump($aichi1); echo '・for()文でarray_pop()で末尾要素を全て取り出す-1'; $aichi1_cnt = count($aichi1); for($i = 0; $i < $aichi1_cnt; $i++) { $aichi1_val = array_shift($aichi1); echo $aichi1_val; echo "\n"; } echo '・array_pop()使用後-1'; var_dump($aichi1); echo '⚫︎ 対象の配列-2'; $aichi2 = [ ['中区','中川区','天白区','北区'], ['熱田区','南区','守山区','東区'] ]; var_dump($aichi2); // 2次元配列の要素カウント $aichi2_cnt2 = count($aichi2); // 1次元配列の要素カウント for($i = 0; $i < $aichi2_cnt2; $i++) { $aichi2_cnt1 = count($aichi2[$i]); } echo '・for()文でarray_pop()で末尾要素を全て取り出す-2'; for($i = 0; $i < $aichi2_cnt2; $i++) { for($j = 0; $j < $aichi2_cnt1; $j++) { $aichi2_val = array_pop($aichi2[$i]); echo $aichi2_val; } echo "\n"; } echo '・array_pop()使用後-2'; var_dump($aichi2); ?> |
実行結果
for文の中にarray_pop()を使用することで、配列の末尾要素を繰り返して取り出すことができます。
また、for文の中にfor文を使用することで、多次元配列の末尾要素を繰り返して取り出すことができます。
連想配列の末尾から要素を抜き出すサンプルコード
array_pop()で連想配列の末尾から要素を抜き出すサンプルコードをご紹介します。
ここでは下記の2つの場合で、array_pop()を使用してみます。
- 連想配列の末尾の値から要素を抜き出す場合
- 連想配列の末尾のキーから要素を抜き出す場合
連想配列の末尾の値から要素を抜き出す場合
連想配列の末尾の値から要素を抜き出す場合にarray_pop()を使用してみます。
⚫︎ 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 | <?php echo '⚫︎対象の連想配列'; $aichi = [ 'naka' => '中区', 'nakagawa' => '中川区', 'tenpaku' => '天白区', 'kita' => '北区' ]; var_dump($aichi); echo '・array_pop()で末尾の値を取り出す'; $aichi_val1 = array_pop($aichi); echo $aichi_val1; echo '・array_pop()使用後'; var_dump($aichi); echo '・array_pop()で末尾の値を全て取り出す'; $aichi_cnt = count($aichi); for($i = 0; $i < $aichi_cnt; $i++) { $aichi_val = array_pop($aichi); echo $aichi_val; echo "\n"; } echo '・array_pop()使用後'; var_dump($aichi); ?> |
実行結果
array_pop()によって連想配列の末尾要素の値を取り出すことができます。
また、for文を使用することで、連想配列の末尾要素の値を繰り返して取り出すこともできます。
連想配列の末尾のキーから要素を抜き出す場合
連想配列の末尾のキーから要素を抜き出す場合にarray_pop()を使用してみます。
⚫︎ 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 | <?php echo '⚫︎対象の連想配列'; $aichi2 = [ 'atsuta' => '熱田区', 'minami' => '南区', 'moriyama' => '守山区', 'higashi' => '東区' ]; var_dump($aichi2); echo '・array_pop()で末尾キーを取り出す'; $aichi2_keys = array_keys($aichi2); $aichi2_key1 = array_pop($aichi2_keys); echo $aichi2_key1; echo '・array_pop()使用後'; var_dump($aichi2_keys); echo '・array_pop()で末尾キーを全て取り出す'; $aichi2_cnt= count($aichi2); for($i = 0; $i < $aichi2_cnt; $i++) { $aichi2_key2 = array_pop($aichi2_keys); echo $aichi2_key2; echo "\n"; } echo '・array_pop()使用後'; var_dump($aichi2_keys); ?> |
実行結果
array_keys()を使用することで、連想配列のキーを取得しています。
そして、array_pop()によって連想配列の末尾要素のキーを取り出しています。
また、for文を使用することで、連想配列の末尾要素のキーを繰り返して取り出すこともできます。
もし、array_keys()について詳しく知りたい場合は下記の記事をご参考ください。
配列の先頭から要素を抜き出す場合
配列の先頭から要素を抜き出す場合は、array_shift()を使用します。
array_pop()とは、指定した配列の末尾を抜き出す関数となります。
そのため、今回紹介しているarray_shift()とは対になる関数になります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php echo '⚫︎対象の配列'; $aichi = ['中区','中川区','天白区','北区']; var_dump($aichi); echo '・array_pop()で先頭要素を取り出す'; $aichi_val = array_pop($aichi); echo $aichi_val; echo '・array_pop()使用後'; var_dump($aichi); ?> |
実行結果
array_shift()によって指定した配列の先頭要素を取り出すことができます。
そのため、配列の「中区」が取り出されています。
もし、array_shift()について詳しく知りたい場合は下記の記事をご参考ください。
配列の末尾に要素を追加する場合
配列の末尾に要素を追加する場合は、array_push()を使用します。
array_push()とは、指定した配列に要素を追加する関数となります。
こちらの関数はどの位置に追加するか指定はできず、自動的に末尾へ追加されるようになります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $aichi = ['中区','中川区','天白区','北区']; var_dump($aichi); echo '・array_push()で追加する要素'; $val = '千種区'; echo $val; echo '・array_push()使用後'; array_push($aichi, $val); var_dump($aichi); ?> |
実行結果
array_push()によって配列の末尾に要素が追加されています。
そのため、対象の配列に「千種区」の要素が追加されて表示されています。
もし、array_push()について詳しく知りたい場合は下記の記事をご参考ください。
まとめ
⚫︎ array_pop()とは、配列の末尾要素を抜き出す関数である
⚫︎ array_pop()を使用するには1つのパラメータを指定する
・ 要素を抜き出したい配列(必須)
⚫︎ 配列に要素が存在する場合にarray_pop()を使用すると、配列の末尾要素が取り出される
⚫︎ 配列に要素が存在しない場合にarray_pop()を使用すると、何も取り出されずにNULLが返される
⚫︎ array_pop()は、多次元配列の末尾要素を取り出すことができる
⚫︎ array_pop()とfor文を組み合わせて使用することで、配列の末尾要素を繰り返して抜き出すことができる
⚫︎ array_pop()は、連想配列の末尾から要素を抜き出すことができる
(値やキーから末尾要素を抜き出すことが可能)
⚫︎ 配列の先頭から要素を抜き出す場合は、array_shift()を使用する
⚫︎ 配列の末尾に要素を追加する場合は、array_push()を使用する