. */ declare(strict_types=1); namespace FireflyIII\Support\Http\Controllers; /** * Trait BasicDataSupport * */ trait BasicDataSupport { /** * Sum up an array. * * @param array $array * * @return string */ protected function arraySum(array $array): string // filter + group data { $sum = '0'; foreach ($array as $entry) { $sum = bcadd($sum, $entry); } return $sum; } /** * Filters empty results from getBudgetPeriodReport. * * @param array $data * * @return array */ protected function filterPeriodReport(array $data): array // helper function for period overview. { /** * @var int $entryId * @var array $set */ foreach ($data as $entryId => $set) { $sum = '0'; foreach ($set['entries'] as $amount) { $sum = bcadd($amount, $sum); } $data[$entryId]['sum'] = $sum; if (0 === bccomp('0', $sum)) { unset($data[$entryId]); } } return $data; } /** * Find the ID in a given array. Return '0' of not there (amount). * * @param array $array * @param int $entryId * * @return null|mixed */ protected function isInArray(array $array, int $entryId) // helper for data (math, calculations) { $result = $array[$entryId] ?? '0'; return $result; } }