tags:

views:

88

answers:

3

I have an array that i want to invert how do i do this?

+2  A: 

Use array_reverse:

$array_inverted = array_reverse($array);
Cristian
+11  A: 

This really depends on whether you mean invert or reverse?

If you want to invert your keys with the values then take a look at 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); 
?> 

Output:

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

if you want to reverse your array then use 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);

Output:

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

You may also want to reverse the array but key the values assigned to their keys in that case you will want $values = array_reverse($values, true);

Lizard
A: 

Another option you my want to consider as well is simply read the array from bottom to top instead of from top to bottom if the situation allows for it.