2015年11月30日

PHP 配列を逆順にする

«
»


今回は「配列を逆順」にする方法を書きたいと思います。
え?並び替え(ソート)と何が違うの?と思った方もいるかもしれません。
まずはサンプルプログラムをみてみましょう。
 

<?php

$fruit = array("Orange","Apple","Strawberry","Blueberry"); 
print_r($fruit); //確認のため表示
echo "<br>";

$r_fruit = array_reverse($fruit); //配列の要素の逆順に並び替える

print_r($r_fruit);

実行結果

PHP 配列 reverse

解説

実行結果を見て頂くと、単純に逆順に表示されているのがわかると思います。
sortやrsort関数はアルファベット順や、アルファベット順の降順に並べ替える
のが特徴でしたが、array_reverse関数はただ、逆順に並び替えるだけです。
 
配列変数 = array_reverse(配列の変数)
と記述することで逆順にした配列を作成することができます。
 
書き方としてsortやrsort関数と違うのは、元々の配列変数が
逆順になるわけではなく、逆順にした配列を返り値として返す、ところにあります。
 
言葉にすると難しいのでサンプルプログラムをみてみましょう。
 

<?php

$fruit = array("Orange","Apple","Strawberry","Blueberry"); 
print_r($fruit); //確認のため表示
echo "<br>";

array_reverse($fruit); //返り値を返さないとどうなるか?

print_r($fruit);

実行結果

PHP 配列 逆順にならない

解説

実行結果を見て頂ければ分かる通り、逆順になっていません
 
従って、array_reverse関数を利用する場合には
配列変数 = array_reverse(配列の変数)
という形で使うのを忘れないで下さい。
 
漢字のような複雑なソートはsortではできないようです。

まとめ

・array_reverseは配列の要素を逆順にする。
配列変数 = array_reverse(配列の変数) という形で使う。

【関連する記事】