当前位置:首页 > 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实现计算器

<?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 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php搜索功能实现的

php搜索功能实现的

PHP 搜索功能实现方法 数据库搜索实现 使用 SQL 的 LIKE 语句进行模糊匹配,适用于小型网站和简单搜索需求。 $searchTerm = $_GET['search']; $query =…

php实现统计

php实现统计

PHP 实现统计功能 在 PHP 中实现统计功能通常涉及数据的收集、处理和展示。以下是一些常见的统计实现方法: 数据库数据统计 通过 SQL 查询可以直接从数据库中获取统计结果: $conn =…

php 实现单点登录

php 实现单点登录

PHP 实现单点登录的方法 单点登录(SSO)允许用户通过一次登录访问多个相互信任的系统。以下是基于 PHP 的实现方案: 基于共享 Session 的方案 在同一个主域名下的子域名间可以通过共享…

php https实现

php https实现

PHP 中实现 HTTPS 的方法 在 PHP 中实现 HTTPS 主要通过配置服务器和编写代码来确保通信的安全性。以下是几种常见的方法: 配置服务器支持 HTTPS 确保服务器已安装 SSL/T…

php 购物车实现session

php 购物车实现session

PHP 购物车实现(基于 Session) 在 PHP 中,使用 Session 实现购物车功能是一种常见方法。Session 可以跨页面存储用户数据,适合临时保存购物车信息。 初始化 Sessio…