<?php class Helper { public static function populateCustomMatrices (array $data, array $conf): array { $result = []; foreach ($conf as $groupName => $inclusions) { $isolatedData = array_intersect_key($data, array_flip($inclusions)); for ($i = 0, $max = max(array_map('count', $isolatedData)); $i < $max; ++$i) { foreach ($inclusions as $key) { $result[$groupName][$i][$key] = $isolatedData[$key][$i] ?? 0; } } } return $result; } } $data = [ 'assets' => [1, 2, 3], 'liabilities' => [1, 2, 3, 4, 5, 6], 'equity' => [1], 'income' => [1, 2, 3, 4], 'expenses' => [1, 2, 3] ]; $conf = [ 'balance_sheet' => ['assets', 'liabilities', 'equity'], 'income' => ['income', 'expenses'], ]; var_export(Helper::populateCustomMatrices($data, $conf));
You have javascript disabled. You will not be able to edit any code.