-1

我有以下代码:

 <!DOCTYPE html>
<html>
<head>
<title>Simple Calculator</title>
<h2>Simple Calculator</h2>
</head>
<body>
<?php
if(isset($_GET["number1"]) and isset($_GET["number2"]))
{
    if(!empty($_GET["number1"]) and !empty($_GET["number2"]))
    {

        global $n1;
        global $n2;

        $n1=$_GET["number1"];
        $n2=$_GET["number2"];

        $check_number1=@ereg("^[0-9]+$",$n1);
        $check_number2=@ereg("^[0-9]+$",$n2);
        if($check_number1==true and $check_number2==true)
        {
            function plus($n1,$n2)
            {       
            return $total=$n1+$n2;
            }

            echo plus($n1,$n2);
        }
        else
        {
        echo "error !";
        }
    }
    else
    {
    echo "input two numbers";
    }
}
?>


<form action="#" method="GET">
number 1 <input type="text" name="number1"><br>
number 2 <input type="text" name="number2"><br>
<input type="submit" value="compute">
</form>
</body>
</html>

如何让 PHP 接受长匹配字符串。例如,如果我1+5在第一个字段和3+1第二个字段中输入,我希望它输出10. 或者,如果我1在第一个字段和3+2第二个字段中进行操作,它应该输出6.

4

1 回答 1

0

您可以使用函数eval,但这非常危险!

这个类可能会帮助你: http ://www.phpclasses.org/browse/package/2695.html

  • 此类可用于安全地评估数学表达式。
  • 该类可以获取文本字符串中的表达式,并通过替换变量的值和计算数学函数和运算的结果来评估它。
  • 它支持隐式乘法、多变量函数和嵌套函数。
  • 它可用于评估来自不受信任来源的表达式。它提供强大的错误检查,并且仅评估有限的功能集。
  • 它可用于从公式表达式生成图形。
于 2013-08-01T17:19:22.167 回答