3v4l.org

run code in 300+ PHP versions simultaneously
<?php $inventory = array ( 0 => array ( 'item' => 'NK', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '11', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '1', 'date' => '2017-10-29', ), ), 'item_no' => '1', ), 1 => array ( 'item' => 'FL', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '7', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '2', 'date' => '2017-10-29', ), ), 'item_no' => '2', ), 2 => array ( 'item' => 'AD', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '5', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '3', 'date' => '2017-10-29', ), ), 'item_no' => '3', ), 3 => array ( 'item' => 'CV', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '4', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '6', 'date' => '2017-10-29', ), ), 'item_no' => '4', ), 4 => array ( 'item' => 'NB', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '12', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '4', 'date' => '2017-10-29', ), ), 'item_no' => '5', ), 5 => array ( 'item' => 'SP', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '4', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '6', 'date' => '2017-10-29', ), ), 'item_no' => '6', ), 6 => array ( 'item' => 'WB', 'item_group' => '5', 'sold' => array ( 0 => array ( 'quantity' => '5', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '2', 'date' => '2017-10-29', ), ), 'item_no' => '7', ), 7 => array ( 'item' => 'wny', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '4', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '6', 'date' => '2017-10-29', ), ), 'item_no' => '8', ), 8 => array ( 'item' => 'bs', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '15', 'date' => '2017-10-28', ), 1 => array ( 'quantity' => '2', 'date' => '2017-10-29', ), ), 'item_no' => '9', ), 9 => array ( 'item' => 'st', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '16', 'date' => '2017-10-29', ), ), 'item_no' => '10', ), 10 => array ( 'item' => 'ayhtdws', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '2', 'date' => '2017-10-29', ), ), 'item_no' => '11', ), 11 => array ( 'item' => 'sif', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '3', 'date' => '2017-10-29', ), ), 'item_no' => '12', ), 12 => array ( 'item' => 'bb', 'item_group' => '12', 'sold' => array ( 0 => array ( 'quantity' => '6', 'date' => '2017-10-29', ), ), 'item_no' => '13', ), ); $new =[]; Foreach($inventory as $sub){ Foreach($sub["sold"] as $sold){ If(!isset($new[$sold["date"]]["date"])) $new[$sold["date"]]["date"] = $sold["date"]; $new[$sold["date"]][$sub["item"]] = $sold["quantity"]; } } $new = array_values($new); Var_dump($new);

preferences:
52.62 ms | 404 KiB | 5 Q