无法排序多维度关联数组

时间:2018-10-16 15:22:18

标签: php arrays

希望我不会让您感到困惑,但这是可行的。

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

因此,在下面的代码中,我每个月都会循环遍历。

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

如果ward_在字符串的末尾包含_perc,则也将其排除在外。

这给我留下了一个与图片类似的数组,在那里我得到了病房以及当月的访问量。

这就是问题所在。然后,我尝试像Sort associative array according to value without deleting keyshttp://php.net/manual/en/function.arsort.php

DESC by value那样对数组arsort($resArr,SORT_NUMERIC);进行排序

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

我尝试过

$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;
}

然后每个月将其添加到年度数组中,然后将其用于报表。

我有一个数组

enter image description here

1 个答案:

答案 0 :(得分:-2)

使用rsort方法对我有用:

rsort($resArr);

提琴:Live Demo