Ⅰ 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;
?>