'php insert multi data by number

need insert multi data but user insert number in for loop for example :

"items":[{"type":"type1","number":3}, 
         {"type":"type2","number":4}]

show:

type1
-type2
-type2
-type2
-type2

type1
-type2
-type2
-type2
-type2

type1
-type2
-type2
-type2
-type2

my code :

foreach($request->items as $k => $item) {
                    for ($i=0; $i < $request->items[$k]['number']; $i++) {
                        $details = new Property();
                        $details->title  = $request->items[$k]['type'];
                        $details->type = $request->items[$k]['type'];
                        $details->save();
                    }
            }

but not work well show only first loop and i need add more array

php


Solution 1:[1]

You give one try this code:

    $items = ['{"type":"type1","number":3}', 
         '{"type":"type2","number":4}',
         '{"type":"type3","number":4}',
         '{"type":"type4","number":3}'];
// $items2 = json_decode($items[0]);
loop($items[0], $items, 0);

function loop($items, $x, $e) {
    $item = json_decode($items);
    for ($i = 0; $i < $item->number; $i++) {
        echo $item->type.'<br />';
        if (isset($x[$e+1])) {
            loop($x[$e+1], $x, $e+1);
        }
    }
}

you only need refactor.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1