如何在PHP中反转数组?

时间:2013-12-21 12:29:58

标签: php arrays

我有以下数组:

Array ( [2294] => 1 [2292] => 1 [2296] => 1 ) 

如何将其反转为

Array ( [2296] => 1 [2292] => 1 [2294] => 1 ) 

TRIED array_reverse(),但没有奏效。我缺少什么?

$array = array_reverse($array); // did not work

编辑:我不想要数字(订单排序)我只需要将底部键反转到顶部,反之亦然

4 个答案:

答案 0 :(得分:4)

您需要将preserve_keys参数设置为TRUE

$result = array_reverse($array, TRUE);
print_r($result);

输出:

Array
(
    [2296] => 1
    [2292] => 1
    [2294] => 1
)

Demo.

答案 1 :(得分:2)

是的你可以通过php中的krsort来完成。因为你需要根据键

进行排序
    $array = array( 2294 => 1, 2292 => 1, 2296 => 1 );
    krsort($array);

    print_r($array)

输出: -

Array
(
    [2296] => 1
    [2294] => 1
    [2292] => 1
)

修改: - 您也可以通过在preserve_keys

中将array_reverse()参数设置为TRUE来实现
   $array = array_reverse($array, TRUE);
   print_r($array);

Working Demo

答案 2 :(得分:0)

您必须对密钥进行排序:查看this table

您需要ksort()krsort()函数

答案 3 :(得分:0)

尝试

$array = array( 2294 => 1, 2292 => 1, 2296 => 1 );
$reversed = array_reverse( $array, true );