实现一个计算器Php
基础PHP计算器实现
创建一个简单的PHP计算器可以通过HTML表单接收用户输入,PHP处理计算逻辑。以下是基础实现方式:
HTML表单部分
<form method="post" action="calculator.php">
<input type="number" name="num1" placeholder="第一个数字" required>
<select name="operator">
<option value="add">+</option>
<option value="subtract">-</option>
<option value="multiply">×</option>
<option value="divide">÷</option>
</select>
<input type="number" name="num2" placeholder="第二个数字" required>
<button type="submit" name="calculate">计算</button>
</form>
PHP处理逻辑
<?php
if(isset($_POST['calculate'])){
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$operator = $_POST['operator'];
$result = '';
switch($operator){
case 'add':
$result = $num1 + $num2;
break;
case 'subtract':
$result = $num1 - $num2;
break;
case 'multiply':
$result = $num1 * $num2;
break;
case 'divide':
$result = ($num2 != 0) ? $num1 / $num2 : '除数不能为0';
break;
default:
$result = '无效操作';
}
echo "结果: ".$result;
}
?>
增强版计算器功能
扩展计算器功能可以包括更多数学运算和错误处理:
科学计算功能扩展
function calculate($num1, $num2, $operator){
switch($operator){
case 'power':
return pow($num1, $num2);
case 'sqrt':
return sqrt($num1);
case 'modulus':
return $num1 % $num2;
// 添加更多运算...
}
}
输入验证增强
if(!is_numeric($num1) || !is_numeric($num2)){
$error = "请输入有效数字";
}
if($operator == 'divide' && $num2 == 0){
$error = "除数不能为零";
}
面向对象实现
采用面向对象方式可以更好地组织代码:
class Calculator {
private $num1;
private $num2;
public function __construct($num1, $num2){
$this->num1 = $num1;
$this->num2 = $num2;
}
public function add(){
return $this->num1 + $this->num2;
}
public function subtract(){
return $this->num1 - $this->num2;
}
// 其他方法...
}
// 使用示例
$calc = new Calculator(10, 5);
echo $calc->add();
安全注意事项
确保计算器安全应考虑以下方面:
过滤用户输入
$num1 = filter_input(INPUT_POST, 'num1', FILTER_SANITIZE_NUMBER_FLOAT);
$num2 = filter_input(INPUT_POST, 'num2', FILTER_SANITIZE_NUMBER_FLOAT);
防止SQL注入
$stmt = $db->prepare("INSERT INTO calculations VALUES (?, ?, ?, ?)");
$stmt->bind_param("ddds", $num1, $num2, $operator, $result);
会话管理

session_start();
if(!isset($_SESSION['user_id'])){
header("Location: login.php");
exit();
}
以上实现方式可以根据具体需求进行组合或扩展,构建出功能完善的PHP计算器应用。





