php版的求表达式的真值表-TrueValueTable
生活随笔
收集整理的這篇文章主要介紹了
php版的求表达式的真值表-TrueValueTable
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
貼上代碼:
<?phperror_reporting(E_ALL & ~E_NOTICE); $expression=$_GET['TrueTable']; //讀取輸入框數(shù)據(jù)if(!empty($_GET['TrueTable'])){$expression=strtoupper($expression); //將輸入的小寫字母,替代成大寫字母$expressionArr=str_split($expression); //將$expression轉(zhuǎn)換成數(shù)組foreach($expressionArr as $v){ //把字母放在 $varTotal數(shù)組中if($v>='A' && $v<='Z'){$varTotal[]=$v;}}$varTotal = array_unique($varTotal); //去掉$varTotal數(shù)組中重復(fù)的字母sort($varTotal); //$varTotal數(shù)組中字母正向排序$varTotal1 = preg_replace("/([A-Z])/","$\\1",$varTotal); //$varTotal1數(shù)組中字母變成變量$maxN = count($varTotal);//$expressionArr = preg_replace("/([A-Z])/","$\\1",$expressionArr); //$expressionArr數(shù)組中字母變成變量$newExpression=implode('',$expressionArr); //$expressionArr數(shù)組變成字符串//echo $newExpression."<br />";$newExpression= preg_replace("/([A-Z])->([A-Z])/","!\\1|\\2",$newExpression);$newExpression= preg_replace("/(\(.*?\))->([A-Z])/","!\\1|\\2",$newExpression);$newExpression= preg_replace("/(\(.*?\))->(.*?)/","!\\1|\\2",$newExpression);$newExpression= preg_replace("/([A-Z])->(.*?)/","!\\1|\\2",$newExpression);$expressionArr=str_split($newExpression); //將$expression轉(zhuǎn)換成數(shù)組$expressionArr = preg_replace("/([A-Z])/","$\\1",$expressionArr);$newExpression=implode('',$expressionArr);//echo $newExpression; } ?><!DOCTYPE html> <html><head><meta charset="utf-8" /><title>真值表查詢1.0 BY:小臻</title></head><body><span style="color:red;text-align:center;"><h1>真值表查詢1.0 BY:小臻</h1></span><div style="width:500px;margin:30px auto 0 auto;text-align:center;"><form action="" method="get"><input type="text" name="TrueTable" value="<?php echo $_GET['TrueTable'] ?>"/><input type="submit" value="確定"/> <br /> <br /><!--<input type="reset" value="取消" /><br /><br /><input type="button" value="∨" /><input type="button" value="∧" /><input type="button" value="┐" /><input type="button" value="→" /><input type="button" value="?" /><br /><br />--></form><!--[ 說明:析取(∨) , 合取(∧) , 非(┐) , 蘊含(→) , 等價(?) ]--><p>[ 說明:析取(|) , 合取(&) , 非(!) , 蘊含(->) , 等價(=) ]</p><table width="300px" style="margin:30px auto 0 auto;text-align:center;border:1px solid #000;"><?phpecho "<tr>";if(!empty($_GET['TrueTable'])){foreach($varTotal as $v){echo "<td>{$v}</td>";} echo "<td>結(jié)果</td>";$result=pow(2,$maxN);for($i=0;$i<$result;$i++){ $resultN[$i]=sprintf("%0{$maxN}d",decbin($i));$resultN[$i]=str_split($resultN[$i]);}foreach($resultN as $k=>$v){echo "<tr>";foreach($resultN[$k] as $k1=>$v1){echo "<td>".$v1."</td>";$varTotal2[$k1]=$varTotal1[$k1]."=".$v1;//echo $varTotal2[$k1]." ";eval($varTotal2[$k1].";"); }//echo $newExpression;eval("\$varTotal3[] = ".$newExpression.";");foreach($varTotal3 as $k2=>$v){if($v==NULL){$varTotal3[$k2]=0;}}echo "<td>".$varTotal3[$k]."</td>";echo "</tr>"; }//print_r($varTotal3); }?> </table></div></body> </html>轉(zhuǎn)載于:https://www.cnblogs.com/Zengineer/p/True-Value-Table.html
總結(jié)
以上是生活随笔為你收集整理的php版的求表达式的真值表-TrueValueTable的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows phone 应用开发[1
- 下一篇: 深入 JavaScript(4) - n