当前位置:首页 > PHP

php实现计算器

2026-02-13 17:46:58PHP

基础实现

使用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 '/':
            $result = ($num2 != 0) ? $num1 / $num2 : "除数不能为零";
            break;
    }
}
?>
<form method="post">
    <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>
    <button type="submit">计算</button>
</form>
<?php if ($result !== ''): ?>
    <p>结果: <?php echo $result; ?></p>
<?php endif; ?>

安全增强

添加输入验证和过滤防止非法输入:

$num1 = filter_input(INPUT_POST, 'num1', FILTER_VALIDATE_FLOAT);
$num2 = filter_input(INPUT_POST, 'num2', FILTER_VALIDATE_FLOAT);
if ($num1 === false || $num2 === false) {
    $result = "请输入有效数字";
}

扩展功能

支持更多运算符和连续计算:

case '^':
    $result = pow($num1, $num2);
    break;
case '%':
    $result = $num1 % $num2;
    break;

前端优化

使用HTML5增强用户体验:

<input type="number" step="any" name="num1" placeholder="第一个数字">
<input type="number" step="any" name="num2" placeholder="第二个数字">

完整示例

结合所有改进的完整代码:

<?php
$result = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $num1 = filter_input(INPUT_POST, 'num1', FILTER_VALIDATE_FLOAT);
    $num2 = filter_input(INPUT_POST, 'num2', FILTER_VALIDATE_FLOAT);
    $operator = $_POST['operator'];

    if ($num1 === false || $num2 === false) {
        $result = "无效输入";
    } else {
        switch ($operator) {
            case '+': $result = $num1 + $num2; break;
            case '-': $result = $num1 - $num2; break;
            case '*': $result = $num1 * $num2; break;
            case '/': $result = ($num2 != 0) ? $num1 / $num2 : "除数不能为零"; break;
            case '^': $result = pow($num1, $num2); break;
            case '%': $result = $num1 % $num2; break;
            default: $result = "未知运算符";
        }
    }
}
?>
<!DOCTYPE html>
<form method="post">
    <input type="number" step="any" name="num1" required>
    <select name="operator">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">×</option>
        <option value="/">÷</option>
        <option value="^">^</option>
        <option value="%">%</option>
    </select>
    <input type="number" step="any" name="num2" required>
    <button type="submit">=</button>
</form>
<?php if ($result !== ''): ?>
    <output>结果: <?php echo htmlspecialchars($result); ?></output>
<?php endif; ?>

php实现计算器

标签: 计算器php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (in…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE…

git php实现

git php实现

Git 与 PHP 的集成实现 使用 PHP 执行 Git 命令 通过 PHP 的 exec()、shell_exec() 或 passthru() 函数可以直接调用 Git 命令,适用于服务器端操作…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…