Code前端首页关于Code前端联系我们

PHP 计算器

terry 2年前 (2023-09-29) 阅读数 59 #PHP
文章标签 PHP

PHP 是一种开源服务器端编程语言,具有广泛的应用范围,包括构建计算器应用程序。计算器应用程序是简单但常见的应用程序,可以在学生、商务人士和科学家等不同场景中使用。 PHP 计算器是使用 PHP 和 HTML(超文本标记语言)创建的应用程序。本文将从多个方面介绍PHP计算器。

1。计算器的基本结构

一个简单的计算器通常由输入字段、按钮和输出字段组成。

<form method="post" action="calculator.php">
  <input type="text" name="num1">
  <select name="operator">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
  </select>
  <input type="text" name="num2">
  <input type="submit" name="submit" value="Calculate">
</form>

<?php
if(isset($_POST['submit'])){
  $num1 = $_POST['num1'];
  $num2 = $_POST['num2'];
  $operator = $_POST['operator'];
  switch($operator){
    case "add":
      $result = $num1 + $num2;
      break;
    case "subtract":
      $result = $num1 - $num2;
      break;
    case "multiply":
      $result = $num1 * $num2;
      break;
    case "divide":
      $result = $num1 / $num2;
      break;
  }
  echo "Result: " . $result;
}
?>

这个例子展示了计算器的基本结构,它由两个输入字段和一个用于选择运算符(加、减、乘、除)的下拉字段,以及一个计算按钮和一个用于显示的输出字段组成。结果计算。

2。验证表格

用户输入时,需要验证输入是否符合要求,否则会出现程序错误。这是一个例子:

<form method="post" action="calculator.php">
  <input type="text" name="num1">
  <select name="operator">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
  </select>
  <input type="text" name="num2">
  <input type="submit" name="submit" value="Calculate">
</form>

<?php
if(isset($_POST['submit'])){
  $num1 = $_POST['num1'];
  $num2 = $_POST['num2'];
  $operator = $_POST['operator'];
  if(empty($num1) || empty($num2)){
    echo "Please enter both numbers.";
    exit;
  }
  if(!is_numeric($num1) || !is_numeric($num2)){
    echo "Please enter valid numbers.";
    exit;
  }
  switch($operator){
    case "add":
      $result = $num1 + $num2;
      break;
    case "subtract":
      $result = $num1 - $num2;
      break;
    case "multiply":
      $result = $num1 * $num2;
      break;
    case "divide":
      if($num2 == 0){
        echo "Cannot divide by zero.";
        exit;
      }
      $result = $num1 / $num2;
      break;
  }
  echo "Result: " . $result;
}
?>

此示例对输入值添加验证,以确保输入的值不为空且为数字。如果输入值为空或无效,则会显示错误消息。另外,计算除法时还要避免除以0。

3。改进计算器

除了计算器的基本功能外,还可以添加其他功能,使其更加实用。以下是一些常见的改进:

1。纽扣款式

更改按钮样式可以改善用户体验并使计算器更具吸引力。以下示例使用 CSS 设置按钮样式:

<style>
  button{
    background-color: #4CAF50;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    border-radius: 4px;
  }
  button:hover {
    background-color: #45a049;
  }
</style>
<form method="post" action="calculator.php">
  <input type="text" name="num1">
  <select name="operator">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
  </select>
  <input type="text" name="num2">
  <button type="submit" name="submit">Calculate</button>
</form>

2。实时计算

添加 JavaScript 代码以执行实时计算。以下示例调用 JavaScript 函数来执行计算并在用户输入或更改值时显示结果:

<form method="post" action="calculator.php">
  <input type="text" name="num1" oninput="calculate()">
  <select name="operator" onchange="calculate()">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
  </select>
  <input type="text" name="num2" oninput="calculate()">
  <input type="text" name="result" readonly>
  <input type="hidden" name="submit">
</form>

<script>
function calculate(){
  var num1 = parseFloat(document.getElementsByName("num1")[0].value);
  var num2 = parseFloat(document.getElementsByName("num2")[0].value);
  var operator = document.getElementsByName("operator")[0].value;
  switch(operator){
    case "add":
      result = num1 + num2;
      break;
    case "subtract":
      result = num1 - num2;
      break;
    case "multiply":
      result = num1 * num2;
      break;
    case "divide":
      result = num1 / num2;
      break;
  }
  document.getElementsByName("result")[0].value = result.toFixed(2);
}
</script>

本示例使用 JavaScript 编写 count() 函数,获取输入字段中的值,并将计算结果显示在结果字段中。向输入字段添加 oninput 属性,向下拉字段添加 onchange 属性,以确保每次用户更改输入时都会调用该函数。

3。历史

使用PHP的会话存储功能在服务器上存储计算的历史记录。以下是记录计算的最后十条记录的示例:

<?php
session_start();
if(isset($_POST['submit'])){
  $num1 = $_POST['num1'];
  $num2 = $_POST['num2'];
  $operator = $_POST['operator'];
  if(empty($num1) || empty($num2)){
    $error = "Please enter both numbers.";
  }
  else if(!is_numeric($num1) || !is_numeric($num2)){
    $error = "Please enter valid numbers.";
  }
  else{
    switch($operator){
      case "add":
        $result = $num1 + $num2;
        break;
      case "subtract":
        $result = $num1 - $num2;
        break;
      case "multiply":
        $result = $num1 * $num2;
        break;
      case "divide":
        if($num2 == 0){
          $error = "Cannot divide by zero.";
        }
        else{
          $result = $num1 / $num2;
        }
        break;
    }
    if(!isset($error)){
      $history = $_SESSION['history'];
      if(count($history) > 9){
        array_shift($history);
      }
      array_push($history, "$num1 $operator $num2 = $result");
      $_SESSION['history'] = $history;
    }
  }
}
if(isset($_POST['clear'])){
  unset($_SESSION['history']);
}
?>

<form method="post" action="calculator.php">
  <input type="text" name="num1">
  <select name="operator">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
  </select>
  <input type="text" name="num2"><br>
  <input type="submit" name="submit" value="Calculate">
  <input type="submit" name="clear" value="Clear History">
</form>

<?php
if(isset($error)){
  echo "<p>$error</p>";
}
if(isset($_SESSION['history'])){
  echo "<h3>History</h3>";
  foreach(array_reverse($_SESSION['history']) as $value){
    echo "<p>$value</p>";
  }
}
?>

此示例使用 PHP 会话存储来存储历史记录。每次成功计算后,将新的计算添加到 $history 数组中,并在向用户显示历史记录时使用 array_reverse() 和 foreach() 函数输出数组的内容。当数组大小超过 10 时,使用 array_shift() 函数从数组前面删除最旧的计算。

总结

PHP计算器是一款常见的应用程序,允许用户通过输入数字和运算符来计算结果。添加表单验证、实时 JavaScript 计算和历史记录等功能可以帮助改善用户体验并使应用程序更有用。使用 PHP、JavaScript 和会话存储,我们可以开发一个简单且功能齐全的计算器应用程序。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门