我有一个Laravel项目,并且有一个如下所示的数组。
array:12 [▼
0 => "آبان 1398"
1 => "آذر 1398"
2 => "اردیبهشت 1398"
3 => "اسفند 1397"
4 => "بهمن 1397"
5 => "تیر 1398"
6 => "خرداد 1398"
7 => "دی 1397"
8 => "شهریور 1398"
9 => "فروردین 1398"
10 => "مرداد 1398"
11 => "مهر 1398"
]
如何按值对它进行排序?例如,在1397之后的所有1398记录。
答案 0 :(得分:1)
我不知道如何使用找到的任何基于语言环境的方法对它进行排序,但是我只通过提取usort
中的数字就可以使它起作用。也许有更好的方法,但这似乎行得通。
usort($array, function($a, $b) {
return preg_replace('/\D/', '', $b) <=> preg_replace('/\D/', '', $a);
});
答案 1 :(得分:1)
以Laravel的方式,您可以使用sortByDesc()
。
示例:
$collection = collect([5, 3, 1, 2, 4]);
$sorted = $collection->sortByDesc();
dd($sorted->values()->all()); //print sorted values.