这个问题在这里已有答案:
如何根据内部数组值降序对多维数组进行排序?
我的阵列是:
array [
0 => array [
"name_TH" => "test"
"currnetMonth" => 200.0
]
1 => array [
"name_TH" => "test2"
"currnetMonth" => 3000.0
]
2 => array [
"name_TH" => "test3"
"currnetMonth" => 1455.0
]
]
我尝试做类似但仍不确定它如何与维度数组一起工作
usort($data, function ($a, $b) {
return dd($b);
});
$a
中的$b
和usort()
是数组的第一级索引,也是数组。你应该得到currnetMonth
或$a
的$b
指数
usort($arr, function ($a, $b) {
if ($b["currnetMonth"] == $a["currnetMonth"]) return 0;
return $b["currnetMonth"] < $a["currnetMonth"] ? -1 : 1;
});
或者在一行中写入条件
usort($arr, function ($a, $b) {
return ($b["currnetMonth"] == $a["currnetMonth"]) ? 0 : ($b["currnetMonth"] < $a["currnetMonth"]) ? -1 : 1;
});
查看demo的结果