Existem duas funções que têm nomes um tanto confusa e que às vezes são usadas de forma incorreta: array_flip() e array_reverse(). A primeira dessas duas funções inverte o valor de cada elemento de um array com a sua chave:
$a = array(’a’, ’b’, ’c’);
var_dump(array_flip ($a));
Será impresso:
array(3) {
["a"]=>
int(0)
["b"]=>
int(1)
["c"]=>
int(2)
}
Por outro lado, array_reverse() na verdade, inverte a ordem dos elementos da matriz, de modo que a última aparece em primeiro lugar:
$a = array(’x’ => ’a’, 10 => ’b’, ’c’);
var_dump(array_reverse($a));
Note que a associação da chave só perdeu para os elementos cujas chaves são numéricas:
array(3) {
[0]=>
string(1) “c”
[1]=>
string(1) “b”
["x"]=>
string(1) “a”
}