こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 PHPで配列の要素を逆順にするarray_reverse関数について
- array_reverse関数とは
- array_reverse関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
array_reverse関数とは
array_reverse関数とは、引数に指定した配列の要素を逆順にした配列を返す関数です。
array_reverse関数の使い方は以下になります。
1 2 |
$sample = array(1, 2, 3); $result = array_reverse($sample, true); |
指定した引数は以下の意味をします。
第一引数(必須) | 逆順にしたい配列 |
---|---|
第二引数(任意) | キーが数値の場合保持するかどうか デフォルトはfalse キーが文字列だった場合、常に保持 |
第二引数の意味はキーが数値だった場合、キーも逆順にするか、を設定します。
trueを設定している上記のサンプルだと、変数resultには
1 2 3 4 5 6 |
Array ( [2] => 3 [1] => 2 [0] => 1 ) |
とキーも値も逆になった配列が返されます。
false、もしくは設定していない場合は
1 2 3 4 5 6 |
Array ( [0] => 3 [1] => 2 [2] => 1 ) |
と、キーはそのままで値のみ逆順の配列が返されます。
もしキーが文字列だった場合は、第二引数を設定しようがしまいが常にtrueを設定しているのと同じになります。
では、次の章から実際に使ってみます。
array_reverse関数サンプルプログラムは
- 第二引数を指定しない場合
- 第二引数を指定した場合
の2パターンでプログラムを作成して実行確認をします。
2パターンともphpプログラムは
C:\xampp\htdocs
配下に、【array_reverse_sample.php】というファイル名で格納しています。
第二引数を指定しない場合のサンプルプログラム
array_reverse関数で第二引数を指定しない場合を解説するプログラムでは、
- 配列
- 連想配列
の2種類の配列に対してarray_reverse関数を使い、結果を表示して比較します。
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 |
<?php $fruits = array('apple', 'orange', 'banana', 'grapes'); print('■オプションを設定しない配列<br >'); print('・逆順にする前の配列'); print_r('<pre>'); print_r($fruits); print_r('</pre>'); $reverse_fruits = array_reverse($fruits); print('・逆順にした後の配列'); print_r('<pre>'); print_r($reverse_fruits); print_r('</pre>'); $animals = array('fox' => 'キツネ', 'elephant' => 'ゾウ', 'cat' => 'ネコ', 'dog' => 'イヌ'); print('■オプションを設定しない連想配列<br >'); print('・逆順にする前の連想配列'); print_r('<pre>'); print_r($animals); print_r('</pre>'); $reverse_animals = array_reverse($animals); print('・逆順にした後の連想配列'); print_r('<pre>'); print_r($reverse_animals); print_r('</pre>'); ?> |
実行結果
XAMPPを起動して、【http://localhost/array_reverse_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
配列はキーがそのままで値が逆順、連想配列はキーも値も逆順になっていることが確認できました。
第二引数を指定した場合のサンプルプログラム
array_reverse関数で第二引数を指定した場合を解説するプログラムでは、
- 配列
- 連想配列
の2種類の配列に対して、array_reverse関数を第二引数に指定する値をtrueとfalseでそれぞれ実行し、結果を表示して比較します。
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 |
<?php $fruits = array('apple', 'orange', 'banana', 'grapes'); print('■オプションを設定する配列<br >'); print('・逆順にする前の配列'); print_r('<pre>'); print_r($fruits); print_r('</pre>'); $reverse_fruits_true = array_reverse($fruits, true); print('・trueを設定して逆順にした後の配列'); print_r('<pre>'); print_r($reverse_fruits_true); print_r('</pre>'); $reverse_fruits_false = array_reverse($fruits, false); print('・falseを設定して逆順にした後の配列'); print_r('<pre>'); print_r($reverse_fruits_false); print_r('</pre>'); $animals = array('fox' => 'キツネ', 'elephant' => 'ゾウ', 'cat' => 'ネコ', 'dog' => 'イヌ'); print('■オプションを設定する連想配列<br >'); print('・逆順にする前の連想配列'); print_r('<pre>'); print_r($animals); print_r('</pre>'); $reverse_animals_true = array_reverse($animals, true); print('・trueを設定して逆順にした後の連想配列'); print_r('<pre>'); print_r($reverse_animals_true); print_r('</pre>'); $reverse_animals_false = array_reverse($animals, false); print('・falseを設定して逆順にした後の連想配列'); print_r('<pre>'); print_r($reverse_animals_false); print_r('</pre>'); ?> |
実行結果
XAMPPを起動して、【http://localhost/array_reverse_sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
配列はキーは指定した通りに、連想配列はtrueを指定してもfalseを指定してもキーも値も逆順になっていることが確認できました。
まとめ:array_reverse関数を使ってみよう!
以上がarray_reverse関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント