当前位置:首页 > PHP

php实现计算器代码

2026-01-28 21:37:36PHP

以下是一个简单的PHP计算器实现代码示例,支持加减乘除运算:

php实现计算器代码

基础实现代码

<?php
$result = 0;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $operation = $_POST['operation'];

    switch ($operation) {
        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) : "除数不能为零";
            break;
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>PHP计算器</title>
</head>
<body>
    <form method="post">
        <input type="number" name="num1" required>
        <select name="operation">
            <option value="add">+</option>
            <option value="subtract">-</option>
            <option value="multiply">×</option>
            <option value="divide">÷</option>
        </select>
        <input type="number" name="num2" required>
        <button type="submit">计算</button>
    </form>
    <p>结果: <?php echo $result; ?></p>
</body>
</html>

增强版实现(包含验证)

<?php
$errors = [];
$result = '';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST['num1']) || empty($_POST['num2'])) {
        $errors[] = "两个数字都必须填写";
    } else {
        $num1 = floatval($_POST['num1']);
        $num2 = floatval($_POST['num2']);
        $operation = $_POST['operation'];

        switch ($operation) {
            case 'add':
                $result = $num1 + $num2;
                break;
            case 'subtract':
                $result = $num1 - $num2;
                break;
            case 'multiply':
                $result = $num1 * $num2;
                break;
            case 'divide':
                if ($num2 == 0) {
                    $errors[] = "除数不能为零";
                } else {
                    $result = $num1 / $num2;
                }
                break;
        }
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>PHP计算器</title>
    <style>
        .error { color: red; }
    </style>
</head>
<body>
    <?php foreach ($errors as $error): ?>
        <p class="error"><?php echo $error; ?></p>
    <?php endforeach; ?>

    <form method="post">
        <input type="number" step="any" name="num1" required>
        <select name="operation">
            <option value="add">+</option>
            <option value="subtract">-</option>
            <option value="multiply">×</option>
            <option value="divide">÷</option>
        </select>
        <input type="number" step="any" name="num2" required>
        <button type="submit">计算</button>
    </form>

    <?php if ($result !== ''): ?>
        <p>结果: <?php echo $result; ?></p>
    <?php endif; ?>
</body>
</html>

主要功能说明

  • 支持基本的加减乘除运算
  • 包含输入验证和错误处理
  • 防止除数为零的错误
  • 支持浮点数运算(通过step="any"属性)
  • 简单的CSS样式增强显示效果

这段代码可以保存为.php文件并在支持PHP的服务器上运行,创建一个功能完整的网页计算器。

标签: 计算器代码
分享给朋友:

相关文章

js实现分页功能代码

js实现分页功能代码

分页功能实现方法 客户端分页(前端处理数据) 适用于数据量较小且已全部加载到前端的情况。 // 示例数据 const data = Array.from({length: 100}, (_, i)…

vue实现商品列表代码

vue实现商品列表代码

以下是一个基于Vue.js的商品列表实现示例,包含基础功能如数据渲染、分页和筛选: 基础商品列表渲染 <template> <div class="product-list"&…

vue长轮询代码实现

vue长轮询代码实现

Vue 长轮询实现方法 长轮询(Long Polling)是一种服务器推送技术,客户端发送请求后,服务器保持连接开放直到有新数据或超时。以下是 Vue 中实现长轮询的代码示例。 基本实现逻辑 定义一…

vue联动实现代码

vue联动实现代码

Vue 联动实现代码 Vue 中实现联动效果通常涉及父子组件通信、状态管理或动态数据绑定。以下是几种常见的联动实现方式: 父子组件通信实现联动 通过 props 和 $emit 实现父子组件数据联动…

vue实现视频列表代码

vue实现视频列表代码

以下是一个基于Vue.js的视频列表实现示例,包含关键功能代码和说明: 视频列表基础实现 <template> <div class="video-list">…

react如何实现代码分离

react如何实现代码分离

React 代码分离的实现方法 使用动态导入(Dynamic Import) 动态导入是 ECMAScript 的特性,React 通过 React.lazy 和 Suspense 实现组件级代码分离…