Как я могу отсортировать этот массив по ключу массива
array(
4 => 'four',
3 => 'three',
2 => 'two',
1 => 'one',
)
как это
array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
)
Если вы просто хотите поменять заказ, используйте Array_Reverse
:
$reverse = array_reverse($array, true);
Вторым параметром для сохранения клавиш.
Если вы хотите отсортировать ключи в порядке использования по порядку по порядку:
krsort($arr);
, если вы хотите сортировать значения в порядке по порядку по порядку и поддерживать использование индекса:
arsort($arr);
, если вы хотите сортировать Значения в Desc Natural Order и поддерживают ассоциацию индекса:
natcasesort($arr);
$arr = array_reverse($arr, true);
У вас есть массив, вы хотите отсортировать его по ключам, в обратном порядке - вы можете использовать функцию KRSORT
:
сортирует массив по ключу в обеспечить регресс Заказ, поддержание ключа к данным корреляции. Это полезно в основном для ассоциативных массивов.
В вашем случае, у вас будет такой код:
$arr = array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
);
krsort($arr);
var_dump($arr);
, который получил бы вам этот вид вывода:
$ /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"
}
в качестве Sidenode: если вы хотели сортировать по значениям, вы могли бы использовать arsort
- Но это не так, кажется, вы хотите, здесь.
Попробуйте krsort () - что сортируется в обратном порядке с использованием клавиши массива, тогда как RSORT будет отсортировать на значении массива.