Files
nuhodds_fi4/app/Filament/Widgets/Boxes/Helper/ExpectationCalculationMethodA.php
T
2026-10-09 13:02:44 +02:00

56 lines
1.9 KiB
PHP

<?php
namespace App\Filament\Widgets\Boxes\Helper;
use App\Models\StatistikoConfig;
class ExpectationCalculationMethodA
{
public static function calc(array $expectations)
{
$summen = [];
$config = StatistikoConfig::pluck('value', 'varname');
foreach ($config as $name => $value) {
if (isset($expectations[$name])) {
$summen[$name]['sum'] = array_sum($expectations[$name]) * $value;
$summen[$name]['cnt'] = \count($expectations[$name]);
} else {
$summen[$name]['sum'] = 0;
$summen[$name]['cnt'] = 1;
}
}
$summen2 = [];
$bets = ['gls', 'fls', 'ofs', 'crd', 'snt', 'tsh'];
foreach ($bets as $name) {
$summen2[$name]['home']['sum'] = 0;
$summen2[$name]['home']['cnt'] = 0;
$summen2[$name]['away']['sum'] = 0;
$summen2[$name]['away']['cnt'] = 0;
}
foreach ($summen as $key => $value) {
foreach ($bets as $name) {
if (strpos($key, $name) !== false) {
if (strpos($key, 'home') !== false) {
$summen2[$name]['home']['sum'] += $value['sum'];
$summen2[$name]['home']['cnt'] += +$value['cnt'];
}
if (strpos($key, 'away') !== false) {
$summen2[$name]['away']['sum'] += $value['sum'];
$summen2[$name]['away']['cnt'] += +$value['cnt'];
}
}
}
}
$asp_result = [];
foreach ($summen2 as $bettype => $value) {
$asp_result[$bettype]['home'] = round($value['home']['sum'] / $value['home']['cnt'], 1);
$asp_result[$bettype]['away'] = round($value['away']['sum'] / $value['away']['cnt'], 1);
}
return $asp_result;
}
}