Php阵列预设值插入

时间:2013-03-10 02:22:17

标签: php arrays algorithm

嗨我从结果中得到以下数组:

$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。感谢

2 个答案:

答案 0 :(得分:1)

same question不到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);
}

答案 1 :(得分:0)

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