实现一个计算器Php
基本计算器实现
创建一个简单的PHP计算器需要处理用户输入并执行基本的数学运算。以下是一个完整的示例代码:
<?php
$result = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$operator = $_POST['operator'];
switch ($operator) {
case "+":
$result = $num1 + $num2;
break;
case "-":
$result = $num1 - $num2;
break;
case "*":
$result = $num1 * $num2;
break;
case "/":
if ($num2 != 0) {
$result = $num1 / $num2;
} else {
$result = "Cannot divide by zero";
}
break;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP Calculator</title>
</head>
<body>
<h2>Simple Calculator</h2>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="number" name="num1" required>
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="number" name="num2" required>
<input type="submit" value="Calculate">
</form>
<?php if ($result !== "") : ?>
<h3>Result: <?php echo $result; ?></h3>
<?php endif; ?>
</body>
</html>
功能扩展
增加科学计算功能如平方根、幂运算等:
// 在switch语句中添加以下case
case "sqrt":
$result = sqrt($num1);
break;
case "pow":
$result = pow($num1, $num2);
break;
错误处理
改进输入验证和错误处理:
if (!is_numeric($num1) || !is_numeric($num2)) {
$result = "Please enter valid numbers";
}
样式优化
添加CSS美化界面:
<style>
body {
font-family: Arial, sans-serif;
max-width: 500px;
margin: 0 auto;
padding: 20px;
}
input, select {
padding: 8px;
margin: 5px 0;
}
input[type="submit"] {
background-color: #4CAF50;
color: white;
border: none;
cursor: pointer;
}
</style>
安全性增强
防止XSS攻击:
$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
这个实现包含了基本的四则运算功能,可以扩展为更复杂的科学计算器。代码结构清晰,包含了必要的错误处理和基本的界面设计。







