<?php
function calc(float $number, float $result, string $operation) {
echo "$result $operation $number = ";
if ($operation == "+") {
$result += $number;
} elseif ($operation == "-") {
$result -= $number;
} elseif ($operation == "*") {
$result *= $number;
} elseif ($operation == "/") {
$result /= $number;
}
echo "$result\n";
return $result;
}
$input = "144/2*5-14.4=";
$numbers = preg_split('/[+]|[-]|[=]|[*]|\\//u', $input);
$operations = preg_split('/[0-9]+[.]*[0-9]*/', $input);
foreach ($numbers as &$number) {
$number = floatval($number);
}
$result = $numbers[0];
for ($i = 1; $i < count($numbers) - 1; $i++) {
$result = calc($numbers[$i], $result, $operations[$i]);
}
echo $input.$result;
- Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- 144 / 2 = 72
72 * 5 = 360
360 - 14.4 = 345.6
144/2*5-14.4=345.6
preferences:
77.57 ms | 407 KiB | 5 Q