How can i sort this array by arrray key
array(
4 => \'four\',
3 => \'three\',
2 => \'two\',
1 => \'one\',
)
like this
If you just want to reverse the order, use array_reverse:
$reverse = array_reverse($array, true);
The second parameter is for preserving the keys.
If you want to sort the keys in DESC order use:
krsort($arr);
If you want to sort the values in DESC order and maintain index association use:
arsort($arr);
If you want to sort the values in DESC natural order and maintain index association use:
natcasesort($arr);
$arr = array_reverse($arr, true);
You have an array, you want to sort it by keys, in reverse order -- you can use the krsort function :
Sorts an array by key in reverse order, maintaining key to data correlations. This is useful mainly for associative arrays.
In you case, you'd have this kind of code :
$arr = array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
);
krsort($arr);
var_dump($arr);
which would get you this kind of output :
$ /usr/local/php-5.3/bin/php temp.php
array(4) {
[4]=>
string(4) "four"
[3]=>
string(5) "three"
[2]=>
string(3) "two"
[1]=>
string(3) "one"
}
As a sidenode : if you had wanted to sort by values, you could have used arsort -- but it doesn't seem to be what you want, here.
Try krsort() - that will sort in reverse using the array key, whereas rsort will sort on the array value.