level 4
function calculateExpression($expression) {
$parts = explode("+", $expression);
$result = 0;
foreach ($parts as $part) {
if (strpos($part, "/") !== false) {
$subParts = explode("/", $part);
$subResult = 1;
foreach ($subParts as $subPart) {
$subResult *= floatval($subPart);
}
$result += $subResult;
} elseif (strpos($part, "-") !== false) {
$subParts = explode("-", $part);
$subResult = floatval($subParts[0]);
for ($i = 1; $i < count($subParts); $i++) {
$subResult -= floatval($subParts[$i]);
}
$result += $subResult;
} elseif (strpos($part, "=") === false) {
$result += floatval($part);
}
}
return $result;
}
$expression = "2180+980+580=3740+480/3+930+1440+1400/2+1250+450+480+1650+1650+1650+1400+530+1650/3+1250-500"; // 测试
$result = calculateExpression($expression);
echo $result; //输出结果为: 22190
2023年11月12日 04点11分


