HOWTO · PHP

PHP での配列の反転

このチュートリアルでは、PHP で配列を逆にする方法を示します。

このページの内容

このチュートリアルでは、PHP で配列を逆にする方法を示します。

PHP での配列の反転

PHP での配列の反転は、組み込み関数 array_reverse() によって実行される簡単な操作です。 この組み込み関数は、ネストされた配列を含む配列の要素を逆にすることができます。

array_reverse() は、ユーザーに応じてキー要素を保持する機能も提供します。 この組み込み関数は、配列をパラメーターとして受け取り、反転した配列を返します。

このメソッドの構文は次のとおりです。

array array_reverse($Input_Array, $Key_to_Preserve)

$Input_Array は反転される配列で必須パラメーターであり、$Key_to_Preserve はオプションであり、キーを保持するようメソッドに通知します。このパラメーターは true または false のいずれかです。

たとえば、次の配列に array_reverse() メソッドを適用します。

Input : $Input_Array = (10, 20, 30, 40, 50)
Output :
Array
(
    [0] => 50
    [1] => 40
    [2] => 30
    [3] => 20
    [4] => 10
)

Input :
Array
(
    [0] => delftstack1
    [1] => delftstack2
    [2] => delftstack3
    [3] => delftstack4
)
Output :
Array
(
    [3] => delftstack4
    [2] => delftstack3
    [1] => delftstack2
    [0] => delftstack1
)

array_reverse() メソッドが機能することがわかったので、PHP で例を試してみましょう。

<?php
$Input_Array = array("Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4", "Delftstack5");

echo "The Original Array:<br>";
print_r($Input_Array);

echo "The Array After Reverse:<br>";
print_r(array_reverse($Input_Array));
?>

上記のコードは、array_reverse() メソッドを使用して、指定された配列を反転します。 出力を参照してください:

The Original Array:
Array (
    [0] => Delftstack1
    [1] => Delftstack2
    [2] => Delftstack3
    [3] => Delftstack4
    [4] => Delftstack5 )
The Array After Reverse:
Array (
    [0] => Delftstack5
	[1] => Delftstack4
	[2] => Delftstack3
	[3] => Delftstack2
	[4] => Delftstack1 )

$Key_to_Preserve パラメータを true に設定して、同じ例を試してみましょう。 例を参照してください:

<?php
$Input_Array = array("Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4", "Delftstack5");

echo "The Original Array:<br>";
print_r($Input_Array);

echo "The Array After Reverse:<br>";
print_r(array_reverse($Input_Array, true));
?>

$Key_to_Preservetrue に設定すると、キーと値が逆になります。 これのデフォルト値は false です。 これは、キーを逆にしなかった最初の例です。

出力を参照してください。

The Original Array:
Array (
    [0] => Delftstack1
	[1] => Delftstack2
	[2] => Delftstack3
	[3] => Delftstack4
	[4] => Delftstack5 )
The Array After Reverse:
Array (
    [4] => Delftstack5
	[3] => Delftstack4
	[2] => Delftstack3
	[1] => Delftstack2
	[0] => Delftstack1 )

array_reverse() メソッドは、PHP で配列を逆にする唯一のメソッドではありません。 for ループは、PHP の配列に対して逆の操作を実行するためにも使用できます。 例を見てみましょう。

<?php
$Input_Array = array("Delftstack1", "Delftstack2", "Delftstack3", "Delftstack4", "Delftstack5");
$size = sizeof($Input_Array);

echo "The Original Array:\<br>";
print_r($Input_Array);
echo "<br>";

echo "The Reversed Array Values:\<br>";
for($x=$size-1; $x>=0; $x--){
        echo $Input_Array[$x]."<br>";
}
?>

上記のコードは、for ループを使用して配列値を逆方向に echo します。 出力を参照してください。

The Original Array:\
Array (
    [0] => Delftstack1
	[1] => Delftstack2
	[2] => Delftstack3
	[3] => Delftstack4
	[4] => Delftstack5 )
The Reversed Array Values:\
Delftstack5
Delftstack4
Delftstack3
Delftstack2
Delftstack1