如何使用php usort按最高值对多维数组进行排序?

时间:2018-09-18 09:31:06

标签: php sorting multidimensional-array 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);
});

1 个答案:

答案 0 :(得分:0)

$a中的$busort()是数组的第一级索引,也是数组。您应该在函数中获得currnetMonth$a的{​​{1}}索引

$b

或处于写状态的一行

usort($arr, function ($a, $b) {
    if ($b["currnetMonth"] == $a["currnetMonth"]) return 0;
    return $b["currnetMonth"] < $a["currnetMonth"] ? -1 : 1;
});

demo中查看结果