当前位置:首页 > PHP

实现一个计算器Php

2026-02-28 05:12:06PHP

基础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;
    }

    echo "结果: ".$result;
}
?>

增强安全性计算器

为防止恶意输入,可添加输入验证:

if(is_numeric($num1) && is_numeric($num2)){
    // 执行计算逻辑
} else {
    echo "请输入有效数字";
}

面向对象实现

采用OOP方式封装计算器功能:

class Calculator {
    public function calculate($num1, $num2, $operator){
        switch($operator){
            case 'add':
                return $num1 + $num2;
            case 'subtract':
                return $num1 - $num2;
            case 'multiply':
                return $num1 * $num2;
            case 'divide':
                return ($num2 != 0) ? $num1 / $num2 : '除数不能为0';
            default:
                return '无效运算符';
        }
    }
}

// 使用示例
$calc = new Calculator();
echo $calc->calculate(10, 5, 'add');

添加历史记录功能

扩展计算器记录计算历史:

session_start();
if(!isset($_SESSION['history'])){
    $_SESSION['history'] = array();
}

// 计算后添加记录
array_push($_SESSION['history'], "$num1 $operator $num2 = $result");

// 显示历史
foreach($_SESSION['history'] as $entry){
    echo $entry."<br>";
}

完整代码示例

将HTML和PHP合并为单个文件:

实现一个计算器Php

<?php
session_start();
if(!isset($_SESSION['history'])){
    $_SESSION['history'] = array();
}

$result = '';
if(isset($_POST['calculate'])){
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $operator = $_POST['operator'];

    if(is_numeric($num1) && is_numeric($num2)){
        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;
        }
        array_push($_SESSION['history'], "$num1 $operator $num2 = $result");
    } else {
        $result = "请输入有效数字";
    }
}
?>

<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" name="calculate">计算</button>
</form>

<?php
if($result !== ''){
    echo "结果: ".$result;
}

if(!empty($_SESSION['history'])){
    echo "<h3>计算历史</h3>";
    foreach(array_reverse($_SESSION['history']) as $entry){
        echo $entry."<br>";
    }
}
?>

这些实现方式涵盖了从基础到进阶的PHP计算器开发,可根据需求选择适合的方案。

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

相关文章

css制作计算器界面

css制作计算器界面

CSS制作计算器界面 基本结构 使用HTML创建计算器的基本结构,包含显示屏和按钮区域。显示屏用于显示输入和结果,按钮区域包含数字、运算符和功能键。 <div class="calculato…

js实现计算器代码

js实现计算器代码

以下是一个简单的JavaScript计算器实现代码示例,包含基本运算功能(加、减、乘、除)和清除功能: HTML结构 <div class="calculator"> <i…

Php实现imagehash

Php实现imagehash

实现图片哈希(ImageHash)的 PHP 方法 图片哈希(ImageHash)是一种用于快速比较图片相似度的技术,通常用于去重或相似图片搜索。以下是基于 PHP 实现图片哈希的几种方法: 平均哈…

Php手工实现

Php手工实现

PHP 手工实现基础框架 手工实现一个 PHP 框架需要理解核心组件,如路由、请求处理、视图渲染和数据库交互。以下是一个极简框架的实现思路: 路由系统 $requestUri = $_SERVER…

Php实现投票系统

Php实现投票系统

数据库设计 创建一个MySQL数据库表来存储投票选项和投票记录。需要两个表:一个存储选项信息,另一个记录用户投票。 CREATE TABLE `poll_options` ( `id` int(…

Php 实现substr功能

Php 实现substr功能

实现字符串截取功能 在PHP中,substr是一个内置函数,用于截取字符串的一部分。如果需要手动实现类似功能,可以参考以下方法: 基本实现方法 function custom_substr($s…