$a = array(0=>\'a\',1=>\'b\',2=>\'c\', 3=>\'d\');
I want to change the order to be 3,2,0,1
:
$a = array(3=>\
If you want to change the order programmatically, have a look at the various array sorting functions in PHP, especially
uasort()
— Sort an array with a user-defined comparison function and maintain index associationuksort()
— Sort an array by keys using a user-defined comparison functionusort()
— Sort an array by values using a user-defined comparison functionBased on Yannicks example below, you could do it this way:
$a = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
$b = array(3, 2, 0, 1); // rule indicating new key order
$c = array();
foreach($b as $index) {
$c[$index] = $a[$index];
}
print_r($c);
would give
Array([3] => d [2] => c [0] => a [1] => b)
But like I said in the comments, if you do not tell us the rule by which to order the array or be more specific about your need, we cannot help you beyond this.