如何使用 php usort 按最大值对多维数组进行排序?
How to sort multidimensional array by highest value using php usort?
如何根据内部数组值降序对多维数组进行排序?
我的数组是:
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()
是数组的一级索引,也是数组。您应该在函数
中获得 $a
或 $b
的 currnetMonth
索引
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
如何根据内部数组值降序对多维数组进行排序?
我的数组是:
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()
是数组的一级索引,也是数组。您应该在函数
$a
或 $b
的 currnetMonth
索引
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