0

嗨,我从结果中有以下数组:

$ouput = $OuputTypeDB->getTotalOutput($uid);

有五种类型的输出,每种都有自己的值,当前结果返回如下:

Array(
            [0] => Array
                (
                    [type] => 4
                    [val] => 1
                )

            [1] => Array
                (
                    [type] => 3
                    [val] => 2
                )

            [2] => Array
                (
                    [type] => 2
                    [val] => 1
                )

        )

输出结果是根据类型 desc 顺序显示的,现在的问题是 5 和 1 没有类型,我如何在上面的结果中添加 5 和 1 的数组并按以下方式排序:

Array
(
    [0] => Array
        (
            [rating] => 5
            [count] => 0
        )

    [1] => Array
        (
            [rating] => 4
            [count] => 1
        )

    [2] => Array
        (
            [rating] => 3
            [count] => 1
        )

   [3] => Array
        (
            [rating] => 2
            [count] => 1
        )

   [4] => Array
        (
            [rating] => 1
            [count] => 0
        )

)

由于类型 5 和 1 没有值,因此两者都设置为val 0. 谢谢

4

2 回答 2

1

不到 20 小时前的相同问题

这是答案:

foreach ($output as $arr) {
    $vote[$arr['type']] = $arr['val'];
}
$output = array();
for ($i=5; $i>0; $i--) {
    $output[] = array("rating"=>$i,"count"=> $vote[$i] ? $vote[$i] : 0);
}
于 2013-03-10T02:32:34.177 回答
0

添加一个项目 $output[] = array("rating"=>5, "count"=>$countFor5); 对于排序,您可以使用 uksort 或 usort 函数

于 2013-03-10T02:29:48.977 回答