如何反转数组?

8
我有一个数组,我想将其反转,该怎么做?
3个回答

24

这实际上取决于您是要倒置还是反转?

如果您想将键与值倒置,则可以查看 array_flip http://www.php.net/manual/en/function.array-flip.php

<?php 

$values = array("Item 1","Item 2","Item 3"); 
print_r($values); 

$values = array_flip($values); 
print_r($values); 
?> 

输出:

Array
(
    [0] => Item 1
    [1] => Item 2
    [2] => Item 3
)
Array
(
    [Item 1] => 0
    [Item 2] => 1
    [Item 3] => 2
)
?>

如果您想要反转数组,则可以使用 array_reverse 函数。http://php.net/manual/en/function.array-reverse.php

<?php
$values = array("Item 1","Item 2","Item 3"); 
print_r($values); 

$values = array_reverse($values);
print_r($values);

输出:

Array
(
    [0] => Item 1
    [1] => Item 2
    [2] => Item 3
)
Array
(
    [0] => Item 3
    [1] => Item 2
    [2] => Item 1
)
?>

如果你想要反转一个数组,但同时保留它们原本的键值对应关系,那么你可以使用 $values = array_reverse($values, true);


array_flipfgetcsv搭配使用非常好,特别是当列标题可能不按预期顺序排列时。http://www.php.net/manual/en/function.fgetcsv.php - jocull

5

使用array_reverse函数:

$array_inverted = array_reverse($array);

1

另一个你可能想考虑的选择是,如果情况允许,可以从底部向上读取数组,而不是从顶部向下读取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接