首页 > 解决方案 > 无法对多维关联数组进行排序

问题描述

希望我不会让你感到困惑,但这里有。

我有一个 multiDim 数组,其中每个键代表月份。( dataByMonth)

所以在下面的代码中,我每个月都会循环。

在第二个中,foreach我检查每个元素的类型(在这种情况下ward_

如果a在字符串的末尾ward_包含 a ,它也会被忽略。_perc

这给我留下了一个如图所示的数组,其中我有当月访问量的病房。

这就是问题所在。然后我尝试根据值对这个数组进行排序,DESC by value就像排序关联数组arsort($resArr,SORT_NUMERIC); 的屈膝礼一样,而不删除键http://php.net/manual/en/function.arsort.php

但这无法对数组进行排序。

我努力了

$resArr = array();
$returnArray = array();
$length = strlen($type);
foreach ($dataByMonth as $key =>$data) {
    foreach($data as $k => $v) {
        if (substr($k, 0, $length) == $type && substr($k, -5, 5) != "_perc") {
            $name = str_replace($type, "", $k);
            $elm_name = str_replace("_", " ", $name);
            $resArr[$elm_name] = $v;
        }
    }

    arsort($resArr,SORT_NUMERIC);

    $returnArray[$key] = $resArr;
}

然后每个月都被添加到年度数组中,然后在报告中使用。

我有一个数组

在此处输入图像描述

标签: phparrays

解决方案


使用rsort方法对我有用:

rsort($resArr);

小提琴:现场演示


推荐阅读