当前位置:首页 > PHP

php实现计算器程序

2026-02-14 05:16:57PHP

基础计算器实现

使用PHP创建一个基础计算器,支持加减乘除运算。通过HTML表单接收用户输入,PHP处理计算逻辑。

<!DOCTYPE html>
<html>
<head>
    <title>PHP计算器</title>
</head>
<body>
    <form method="post">
        <input type="number" name="num1" 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" required>
        <button type="submit">计算</button>
    </form>

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

        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 : "除数不能为零";
                break;
        }

        echo "<p>结果: $result</p>";
    }
    ?>
</body>
</html>

科学计算器扩展

在基础计算器上增加科学计算功能,如幂运算、平方根、三角函数等。

// 在原有表单中添加科学计算选项
<select name="scientific">
    <option value="">--选择科学运算--</option>
    <option value="power">幂(x^y)</option>
    <option value="sqrt">平方根</option>
    <option value="sin">正弦</option>
    <option value="cos">余弦</option>
</select>

// 在PHP处理部分添加
if (isset($_POST["scientific"]) && !empty($_POST["scientific"])) {
    $func = $_POST["scientific"];
    switch ($func) {
        case "power":
            $result = pow($num1, $num2);
            break;
        case "sqrt":
            $result = sqrt($num1);
            break;
        case "sin":
            $result = sin(deg2rad($num1));
            break;
        case "cos":
            $result = cos(deg2rad($num1));
            break;
    }
}

表达式解析计算器

实现能解析数学表达式的计算器,处理如"3+5*2"这样的复合表达式。

function evaluateExpression($expression) {
    // 移除所有空格
    $expression = str_replace(' ', '', $expression);

    // 使用PHP的eval函数(注意安全风险,生产环境需替换为解析器)
    try {
        eval('$result = '.$expression.';');
        return $result;
    } catch (Throwable $e) {
        return "表达式错误";
    }
}

// 更安全的替代方案(使用数学表达式解析库)
// 需要安装https://github.com/mossadal/math-parser
/*
use MathParser\StdMathParser;
use MathParser\Interpreting\Evaluator;

$parser = new StdMathParser();
$AST = $parser->parse("3+5*2");
$evaluator = new Evaluator();
$value = $AST->accept($evaluator);
*/

计算器安全增强

为防止代码注入,对用户输入进行严格过滤和验证。

// 过滤非数字字符
function sanitizeInput($input) {
    return preg_replace('/[^0-9\.\+\-\*\/]/', '', $input);
}

// 验证数字
function isValidNumber($num) {
    return is_numeric($num);
}

// 使用时的修改
$num1 = isValidNumber($_POST["num1"]) ? $_POST["num1"] : 0;
$expression = isset($_POST["expression"]) ? sanitizeInput($_POST["expression"]) : "";

计算器样式美化

使用CSS美化计算器界面,创建更专业的视觉效果。

php实现计算器程序

<style>
    .calculator {
        width: 300px;
        margin: 50px auto;
        padding: 20px;
        border: 1px solid #ccc;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
    input, select {
        padding: 8px;
        margin: 5px 0;
        width: 100%;
        box-sizing: border-box;
    }
    button {
        background: #4CAF50;
        color: white;
        padding: 10px;
        border: none;
        width: 100%;
        cursor: pointer;
    }
    .result {
        margin-top: 15px;
        padding: 10px;
        background: #f9f9f9;
        border-radius: 5px;
    }
</style>

<div class="calculator">
    <!-- 之前表单内容 -->
    <div class="result">
        <?php if (isset($result)) echo "结果: $result"; ?>
    </div>
</div>

标签: 计算器程序
分享给朋友:

相关文章

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

小程序使用vue实现

小程序使用vue实现

使用 Vue 实现小程序的开发方法 Vue 本身是前端框架,而小程序(如微信小程序)有独立的开发体系。若想用 Vue 的语法或生态开发小程序,可通过以下方案实现: 使用跨平台框架(推荐) mpvue…

react如何写小程序

react如何写小程序

React 开发小程序的方法 React 本身是为 Web 应用设计的,但可以通过以下方式开发小程序: 使用 Taro 框架 Taro 是一个多端统一开发框架,支持使用 React 语法开发小程序(…

国产操作系统如何部署react程序

国产操作系统如何部署react程序

国产操作系统部署React程序的步骤 环境准备 确保国产操作系统(如统信UOS、麒麟OS等)已安装Node.js环境。可通过官方文档或包管理器(如apt、yum)安装Node.js和npm/yarn。…

php实现计算器

php实现计算器

基本计算器实现 使用PHP创建一个简单的计算器可以通过HTML表单接收用户输入,PHP处理计算逻辑。以下是一个基础实现示例: HTML表单部分 (calculator.html) <form…

实现一个计算器Php

实现一个计算器Php

基础PHP计算器实现 创建一个简单的PHP计算器需要处理用户输入并执行基本数学运算。以下是一个完整的实现示例: <!DOCTYPE html> <html> <head…