получить php массив в другом виде

Подскажите как данный массив преобразовать в другой. Суть в том, что каждый тип соответствует 3 следящим значения из count и time

[type] => Array
    (
        [0] => type1
        [1] => type2
        [2] => type3
        [3] => type4
    )

[count] => Array
    (
        [0] => 10
        [1] => 10
        [2] => 10
        [3] => 10
        [4] => 10
        [5] => 0
        [6] => 0
        [7] => 0
        [8] => 0
        [9] => 0
        [10] => 10
        [11] => 0
    )

[time] => Array
    (
        [0] => 10:00
        [1] => 
        [2] => 11:11
        [3] => 
        [4] => 11:11
        [5] => 
        [6] => 
        [7] => 
        [8] => 
        [9] => 
        [10] => 12:00
        [11] => 
    )

на выходе должно получиться так:

{
    "type": "type1",
    "count": "10",
    "time": "10:00"
},
{
    "type": "type1",
    "count": "10",
    "time": ""
},
{
    "type": "type1",
    "count": "10",
    "time": "11:11"
},
{
    "type": "type2",
    "count": "10",
    "time": ""
},
{
    "type": "type2",
    "count": "10",
    "time": "11:11"
},
{
    "type": "type2",
    "count": "0",
    "time": ""
}

и т.д.


Ответы (1 шт):

Автор решения: Tunker

Делаем вложенный цикл по 3 записям и формируем необходимый массив

<?php
$type = Array(
    'type1','type2','type3','type4'
);

$count = Array(
    10,10,10,10,10,0,0,0,0,0,10,0
);

$time = Array(
    '10:00','','11:11','','11:11','','','','','','12:00',''
);

$out  = array();
for ($i = 0; $i < count($type); ++$i)
{
    for ($j = 0; $j < 3; ++$j)
    {
            $out[] = array(
            'type' => $type[$i],
            'count' => $count[$i * 3 + $j],
            'time' => $time[$i * 3 + $j]
        );
    }
}
print_r($out);

На выходе получаем:

Array
(
    [0] => Array
        (
            [type] => type1
            [count] => 10
            [time] => 10:00
        )

    [1] => Array
        (
            [type] => type1
            [count] => 10
            [time] => 
        )

    [2] => Array
        (
            [type] => type1
            [count] => 10
            [time] => 11:11
        )

    [3] => Array
        (
            [type] => type2
            [count] => 10
            [time] => 
        )

    [4] => Array
        (
            [type] => type2
            [count] => 10
            [time] => 11:11
        )

    [5] => Array
        (
            [type] => type2
            [count] => 0
            [time] => 
        )

    [6] => Array
        (
            [type] => type3
            [count] => 0
            [time] => 
        )

    [7] => Array
        (
            [type] => type3
            [count] => 0
            [time] => 
        )

    [8] => Array
        (
            [type] => type3
            [count] => 0
            [time] => 
        )

    [9] => Array
        (
            [type] => type4
            [count] => 0
            [time] => 
        )

    [10] => Array
        (
            [type] => type4
            [count] => 10
            [time] => 12:00
        )

    [11] => Array
        (
            [type] => type4
            [count] => 0
            [time] => 
        )

)
→ Ссылка