首页 > 解决方案 > 如何使用现有数组创建动态数组

问题描述

我在下面有一组数据。

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [rating] => 4
                    [review] => nice
                )
            [1] => Array
                (
                    [rating] => 2
                    [review] => good
                )
        )

)

我们自定义了上面的数组,需要我的自定义数组。需要像下面的数组一样输出。数组总是需要 5 比 1 的键,因为我正在使用这个数组进行评级和审查功能。

Array
(
    [0] => Array
        (
            [5] => Array
                (
                    [rating] => 0
                    [review] => ""
                )
            [4] => Array
                (
                    [rating] => 4
                    [review] => nice
                )
            [3] => Array
                (
                    [rating] => 0
                    [review] => ""
                )
            [2] => Array
                (
                    [rating] => 2
                    [review] => "good"
                )        

            [1] => Array
                (
                    [rating] => 0
                    [review] => ""
                )
        )
)

标签: phparrays

解决方案


我设法自我解决。请根据输出找到以下解决方案。

$arr1 = array(array("rating"=>4,"review"=>"nice"),array("rating"=>2,"review"=>"good"));
$final =a rray();
for ($i=5; $i>=1; $i--) {   
    foreach ($arr1 as $key =>$val) {
        if ($val['rating']==$i) {
            $final[$i] = array("rating"=>$val['rating'],"review"=>$val['review']); 
            break;
        } else {
            $final[$i] = array("rating"=>0,"review"=>""); 
        }
    }
}
print_r($final);

推荐阅读