Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php $source = ' [ { "PRODUCT" : "BANANA", "BUY_PERIOD" : "202101", "SALES_PERIOD" : "202101", "PERCENT_OF_SALES" : "20" }, { "PRODUCT" : "BANANA", "BUY_PERIOD" : "202101", "SALES_PERIOD" : "202102", "PERCENT_OF_SALES" : "10" }, { "PRODUCT" : "BANANA", "BUY_PERIOD" : "202101", "SALES_PERIOD" : "202103", "PERCENT_OF_SALES" : "15" }, { "PRODUCT" : "BANANA", "BUY_PERIOD" : "202101", "SALES_PERIOD" : "202104", "PERCENT_OF_SALES" : "35" } ] '; $data = json_decode($source, true); $result = array_reduce( $data, function($res, $el) { if (isset($res[$el['PRODUCT'] . "-" . $el['BUY_PERIOD']])) { $res[$el['PRODUCT'] . "-" . $el['BUY_PERIOD']]['SALES_PERIOD'][$el['SALES_PERIOD']] = $el['PERCENT_OF_SALES']; } else { $res[$el['PRODUCT'] . "-" . $el['BUY_PERIOD']] = [ 'PRODUCT' => $el['PRODUCT'], 'BUY_PERIOD' => $el['BUY_PERIOD'], 'SALES_PERIOD' => [ $el['SALES_PERIOD'] => $el['PERCENT_OF_SALES'] ] ]; } return $res; }, $res ); var_export(array_values($result));
Copy Clear