我的数组值如下:
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会扰乱UI!
有没有人知道对这个数组进行排序的方法?
答案 0 :(得分:1)
解析字符串,将它们转换为数字,然后对第一个数字进行排序。这样做的实际机制取决于您的编程语言。在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();
答案 1 :(得分:1)
对于PHP使用natsort()
$nums = array('10-50', '100-150', '0-10', '150-200', '50-100', '200+');
natsort($nums);
var_dump($nums);