3v4l.org

run code in 300+ PHP versions simultaneously
<?php $b = 0; function getUsage($b) { $f = 0.0335 + ($b / 100000); if ($b > 100) { $usageElectricityStart = 750; } else { $usageElectricityStart = round($b * 7.5); } $gas = round($b / $f * (0.25 + (4 * $b / 10000)), -1); $electricity = round($usageElectricityStart + $b / $f * 0.625, -1); return array('gas' => $gas, 'electricity' => $electricity); } $cases = array( 1 => array('price' => 294, 'gas' => 2887, 'electricity' => 5789), 2 => array('price' => 137, 'gas' => 1527, 'electricity' => 2620), 3 => array('price' => 127, 'gas' => 750, 'electricity' => 3650), 4 => array('price' => 139, 'gas' => 1227, 'electricity' => 3201), 5 => array('price' => 230, 'gas' => 2555, 'electricity' => 4317), 6 => array('price' => 79, 'gas' => 544, 'electricity' => 2339) ); foreach ($cases as $caseKey => $caseItem) { echo 'CASE ' . $caseKey . ': ' . $caseItem['price'] .' EUR' . "\n"; echo 'actual gas: ' . $caseItem['gas'] . ' m3' . "\n"; echo 'actual electricity: ' . $caseItem['electricity'] . ' kWh' . "\n"; $calculatedUsage = getUsage($caseItem['price']); echo 'calculated gas: ' . $calculatedUsage['gas'] . ' m3' . "\n"; echo 'calculated electricity: ' . $calculatedUsage['electricity'] . ' kWh' . "\n\n"; echo 'gas relative to actual: ' . round($calculatedUsage['gas'] / $caseItem['gas'] * 100, 2) . ' %' . "\n"; echo 'electricity relative to actual: ' . round($calculatedUsage['electricity'] / $caseItem['electricity'] * 100, 2) . ' %' . "\n\n\n"; }

preferences:
65.3 ms | 402 KiB | 5 Q