PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
-- Hint: use Ctrl+Enter for SQL autocomplete function array_icount_values($array) { $ret_array = array(); foreach($array as $value) { foreach($ret_array as $key2 => $value2) { if(strtolower($key2) == strtolower($value)) { $ret_array[$key2]++; continue 2; } } $ret_array[$value] = 1; } return $ret_array; } $ar = array('J. Karjalainen', 'J. Karjalainen', 60, '60', 'J. Karjalainen', 'j. karjalainen', 'Fastway', 'FASTWAY', 'Fastway', 'fastway', 'YUP'); $ar2 = array_count_values($ar); // Normal matching $ar = array_icount_values($ar); // Case-insensitive matching print_r($ar2); print_r($ar);
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)); function array_icount_values($array) { $ret_array = array(); foreach($array as $value) { foreach($ret_array as $key2 => $value2) { if(strtolower($key2) == strtolower($value)) { $ret_array[$key2]++; continue 2; } } $ret_array[$value] = 1; } return $ret_array; } $ar = array('J. Karjalainen', 'J. Karjalainen', 60, '60', 'J. Karjalainen', 'j. karjalainen', 'Fastway', 'FASTWAY', 'Fastway', 'fastway', 'YUP'); $ar2 = array_count_values($ar); // Normal matching $ar = array_icount_values($ar); // Case-insensitive matching print_r($ar2); print_r($ar);
Show:  
Copy Clear