Как можно отсортировать этот массив? - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть массив со значениями следующим образом:

0-10
10-50
50-100
100-150
150-200
200+

На самом деле это массив таксономий WordPress, который WP сортирует по алфавиту (или в порядке возрастания первой цифры), давая мне следующее:

//notice how 50-100 gets pushed to the bottom, due to ascending order applied
0-10
10-50
100-150
150-200
200+
50-100

Я просто хочу сохранить порядок в качестве исходного массива, так как это диапазоны для конкретной ситуации и 50-100 в последний раз нарушает интерфейс!

Кто-нибудь знает способ сортировки этого массива?

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Для PHP используйте natsort ()

$nums = array('10-50', '100-150', '0-10', '150-200', '50-100', '200+');
natsort($nums);
var_dump($nums);
1 голос
/ 06 декабря 2011

Разобрать строки, преобразовать их в числа и отсортировать по первому номеру.Фактическая механика выполнения этого зависит от вашего языка программирования.В C # вы можете использовать Linq:

var strings = new[] { "0-10", "10-50", "100-150", "50-100", "200+", "150-200" };
var sorted = strings.OrderBy(s => int.Parse(s.Split('+', '-')[0])).ToArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...