by shigemk2

当面は技術的なことしか書かない

array_reverse

概要

PHP: array_reverse - Manual
配列を受け取って、要素の順番を逆にした新しい配列を返します。

array array_reverse ( array $array [, bool $preserve_keys = false ] )

第二引数がTRUEの場合は数値のキーを保持する。
非数値のキーは、この設定にかかわらず常に保持される。

例1 配列のキーが数値の場合

第二引数がtrueかfalseかで結果が変わる。

<?php
$input  = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
print_r($result);
$result_keyed = array_reverse($input, true);
print_r($result_keyed);
?>
# array_reverse($input) キーは保持されない
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
# array_reverse($input, true) キーは保持される
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

例2 配列のキーが非数値の場合

第二引数に関わらずキーは保持される。

<?php
$input['butchers'] = 'green';
$input['aboradako'] = 'aburadako';
$input['cowpers'] = 'lost';
$result = array_reverse($input);
print_r($result);
$result_keyed = array_reverse($input, true);
print_r($result_keyed);
?>
# array_reverse($input) trueがあってもなくてもキーは非数値なので保持されたまま。
Array
(
    [cowpers] => lost
    [aboradako] => aburadako
    [butchers] => green
)
# array_reverse($input, true)
Array
(
    [cowpers] => lost
    [aboradako] => aburadako
    [butchers] => green
)