Ⅰ php 正则表达式如何判断一个字符串是否为合法的四则数学算式
代码如下(经测通过):
<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括号不匹配';
}
}
?>
判断str里是否存在连续运算符、小数点或运算符、括号、数字以外的字符
若存在则非法
若不存在则判断str里( 和 )数量是否一致
Ⅱ 怎么用php编写加减乘除
可以参考下面的代码:
<?php
$a = 1;
$b = 2;
加法: $sum = $a + $b;
减法: $sum = $a - $b;
乘法: $sum = $a * $b;
除法: $sum = $a / $b;
(2)php四则运算扩展阅读:
PHP的加密函数有crypt()、 md5() 和sha1() 这3种, 其中crypt() 用于单向加密, 所谓的单向加密就是将需要加密的内容进行加密之后, 无法将密文转换成为可读的内容, 因此单向加密的应用范围较狭窄, 一般用于用户名认证和密码输入等情况。
当用户进入系统时,只需要将密文口令输 入,经过系统验证与存储的口令一致, 即可通过。
sha1() 函数使用了SHA-1的散列算法,其原理与md5() 类似。
Ⅲ 求用PHP编写一个能实现"+-*/"四则运算的简单计算器
实现这个功能,用php不大合适,用js就行了!
Ⅳ 求php高手,++ -- 是怎么运算的,比如 $a=1; echo $a+$a++=3; 而
从左往右走
++$a+(++$a)+($a--)-($a++);
首先是++a,执行之后为2
其次是+(++a),先执行++a,a的值变为3,其次执行+a,总值变为2+3=5
再次是+(a--),先执行+a,总值变为5+3=8,其次执行a--,a的值变为2
然后是-($a++),先执行-a,总值变为8-2=6,其次执行a++,a的值变为3
因此最后的c值为6
Ⅳ PHP " " ' ' ( ) [ ] { }分别什么时候使用 求举例说明!!!!!
但双引号都是用来表示字符串的,区别是双引号里面的$变量要解释,例如:
<?php
$n=123;
$s1="n=$n";//输出:n=123
$s2='n=$n';//输出:n=$n
?>
小括号作为函数调用,或者特殊语法结构要求的(if while for等),这和C语言类似,没什么特殊的东西,例如:
<?php
$n=1;
if($n>=10)echo'两位数';
elseecho'一位数';
?>
中括号是数组用的,例如:
<?php
$a=array(1,2,3);
echo$a[1];//输出2
?>
大括号用在字符串里面,表示整个变量,例如:
<?php
$a=123;
$aa=456;
echo"$aa";//输出456
echo"{$a}a";//输出123a
?>
Ⅵ php一个表单里多个按钮,怎么知道是哪个对应的(简单的四则运算)
你这种设计相当不合理!
再说,单纯为了计算数,何必php?
js不是更简单方便?
<?php
error_reporting(E_ALL^E_NOTICE);//忽略错误
functionSelect($Num=1){
if($Num==1&&empty(p('fu'))){
return'selected';
}else{
returnp('fu')==$Num?'selected':'';
}
}
functionp($key){
return$_POST[$key];
}
if(p('mm')==1){
$numa=p('numa');
$numb=p('numb');
$numc=$numa;
$fu=p('fu');
switch($fu){
case1:
$numc+=$numb;
break;
case2:
$numc-=$numb;
break;
case3:
$numb>0?$numc*=$numb:$numc=0;
break;
default:
$numb>0?$numc/=$numb:$numc=0;
}
}
?>
<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>简易计算器</title>
</head>
<bodystyle="margin:100pxauto;width:800px">
<h2>简单计算器</h2>
<formmethod="post">
<inputtype="number"name="numa"value="<?phpecho$numa?>">
<selectname="fu">
<optionvalue="1"<?phpechoSelect(1)?>>+</option>
<optionvalue="2"<?phpechoSelect(2)?>>-</option>
<optionvalue="3"<?phpechoSelect(3)?>>*</option>
<optionvalue="4"<?phpechoSelect(4)?>>/</option>
</select>
<inputtype="number"name="numb"value="<?phpecho$numb?>">
=
<inputtype="text"name="numc"value="<?phpecho$numc?>">
<buttontype="submit"name="mm"value="1">计算</button>
</form>
</body>
</html>
这样是不是更恰当啊?
Ⅶ 使用PHP编程。一个网页计算器,实现简单四则运算
把下面内容存成PHP格式,就OK了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>四则运算</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<p>
<input name="y" type="text" id="y" size="10" />
<select name="y0" id="y0">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input name="y1" type="text" id="y1" size="10" />
<input type="submit" name="Submit" value="计算" />
</p>
<p> </p>
<p> </p>
</form>
<?php
function make_safe($variable) {
$variable = addslashes(trim($variable));
return $variable;
}
$y0=make_safe($_REQUEST["y0"]);
$y1=make_safe($_REQUEST["y1"]);
$y=make_safe($_REQUEST["y"]);
if ($y0 != "")
{
switch($y0)
{
case "+":
$chaxuntj =$y+$y1;
break;
case "-":
$chaxuntj =$y-$y1;
break;
case "*":
$chaxuntj =$y*$y1;
break;
case "/":
$chaxuntj =$y/$y1;
break;
default:
}
echo $y.$y0.$y1."=".$chaxuntj;
}
?>
</body>
</html>
Ⅷ 自定义名为Number的类,用于实现两个数字的四则运算。PHP!在线等!急!
<?php
classNumber{
private$na;
private$nb;
private$symbol;
private$result;
function__construct(){
}
publicfunctiongetResult($_na,$_nb,$_symbol){
$this->na=$_na;
$this->nb=$_nb;
$this->symbol=$_symbol;
switch($this->symbol)
{
case'+':
$this->symbol='+';
echo"$this->na+$this->nb=".$this->result=$this->na+$this->nb;
break;
case'-':
$this->symbol='-';
echo"$this->na-$this->nb=".$this->result=$this->na-$this->nb;
break;
case'*':
$this->symbol='*';
echo"$this->na*$this->nb=".$this->result=$this->na*$this->nb;
break;
case'/':
$this->symbol='/';
$this->check($this->nb);
break;
default:
$this->symbol='+';
echo"$this->na+$this->nb=".$this->result=$this->na+$this->nb;
}
}
privatefunctioncheck($_nb){
$this->nb=$_nb;
if($this->nb==0){
echo"除数不能为零!";
}else{
echo"$this->na/$this->nb=".$this->result=$this->na/$this->nb;
}
}
}
$js=newNumber();
$js->getResult(3,2,"*");//符号为+-*/
?>
Ⅸ 一个用php做的四则运算,能运算~但是打开之后显示几行错误~怎么办啊
程序不够严谨,和楼上说的一样,第一次打开没有传入 y0 y1 y的值,加入
if(isset($_POST[y0])&&isset($_POST[y0])&&isset($_POST[y0]){
}
或者你直接关闭php.ini里的错误提示,就不会出现类似问题。
找到display_error on ,改成 off
Ⅹ php显示两个1到100之间随机数的随机四则运算,如下图,在线等,急急急,快来人。
<?php
$num1 = rand(1, 100);
$num2 = rand(1, 100);
$opt = array('+', '-', '*', '/');
$optrand = $opt[rand(0, 3)];
$number = $num1 . $optrand . $num2;
$number1 = eval("return $number;");
echo $number . '=' . $number1;
?>