public function buildColumnValues(StatsTableBuilder $statsTable) { $column = array(); $columnsValues = array_map(function ($columnName) use($statsTable) { return $statsTable->getColumn($columnName)->getValues(); }, $this->columns); foreach ($statsTable->getIndexes() as $index) { $lineValues = array_map(function ($array) use($index) { return $array[$index]; }, $columnsValues); $column[$index] = array_sum($lineValues); } return $column; }
public function buildColumnValues(StatsTableBuilder $statsTable) { $values = array(); foreach ($statsTable->getIndexes() as $index) { // Recreate line $line = array(); foreach ($statsTable->getColumns() as $columnName => $column) { $columnValues = $column->getValues(); $line = array_merge($line, array($columnName => $columnValues[$index])); } $values[$index] = call_user_func_array($this->callback, array($line)); } return $values; }