
贴上代码:
<?<span>php
</span><span>error_reporting</span>(<span>E_ALL</span> & ~<span>E_NOTICE</span><span>);
</span><span>$expression</span>=<span>$_GET</span>['TrueTable']; <span>//</span><span>读取输入框数据</span>
<span>if</span>(!<span>empty</span>(<span>$_GET</span>['TrueTable'<span>])){
</span><span>$expression</span>=<span>strtoupper</span>(<span>$expression</span>); <span>//</span><span>将输入的小写字母,替代成大写字母</span>
<span>$expressionArr</span>=<span>str_split</span>(<span>$expression</span>); <span>//</span><span>将$expression转换成数组</span>
<span>foreach</span>(<span>$expressionArr</span> <span>as</span> <span>$v</span>){ <span>//</span><span>把字母放在 $varTotal数组中</span>
<span>if</span>(<span>$v</span>>='A' && <span>$v</span><='Z'<span>){
</span><span>$varTotal</span>[]=<span>$v</span><span>;
}
}
</span><span>$varTotal</span> = <span>array_unique</span>(<span>$varTotal</span>); <span>//</span><span>去掉$varTotal数组中重复的字母</span>
<span>sort</span>(<span>$varTotal</span>); <span>//</span><span>$varTotal数组中字母正向排序</span>
<span>$varTotal1</span> = <span>preg_replace</span>("/([A-Z])/","$\1",<span>$varTotal</span>); <span>//</span><span>$varTotal1数组中字母变成变量</span>
<span>$maxN</span> = <span>count</span>(<span>$varTotal</span><span>);
</span><span>//</span><span>$expressionArr = preg_replace("/([A-Z])/","$\1",$expressionArr); //$expressionArr数组中字母变成变量</span>
<span>$newExpression</span>=<span>implode</span>('',<span>$expressionArr</span>); <span>//</span><span>$expressionArr数组变成字符串
//echo $newExpression."<br />";</span>
<span>$newExpression</span>= <span>preg_replace</span>("/([A-Z])->([A-Z])/","!\1|\2",<span>$newExpression</span><span>);
</span><span>$newExpression</span>= <span>preg_replace</span>("/((.*?))->([A-Z])/","!\1|\2",<span>$newExpression</span><span>);
</span><span>$newExpression</span>= <span>preg_replace</span>("/((.*?))->(.*?)/","!\1|\2",<span>$newExpression</span><span>);
</span><span>$newExpression</span>= <span>preg_replace</span>("/([A-Z])->(.*?)/","!\1|\2",<span>$newExpression</span><span>);
</span><span>$expressionArr</span>=<span>str_split</span>(<span>$newExpression</span>); <span>//</span><span>将$expression转换成数组</span>
<span>$expressionArr</span> = <span>preg_replace</span>("/([A-Z])/","$\1",<span>$expressionArr</span><span>);
</span><span>$newExpression</span>=<span>implode</span>('',<span>$expressionArr</span><span>);
</span><span>//</span><span>echo $newExpression;</span>
<span>
}
</span>?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>真值表查询1.0 BY:小臻</title>
</head>
<body>
<span><h1>真值表查询1.0 BY:小臻</h1></span>
<div>
<form action="" method="get">
<input type="text" name="TrueTable" value="<?php echo <span>$_GET</span>['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>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/1972">
<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679986599613.png" alt="爱图表">
</a>
<div class="aritcle_card_info">
<a href="/ai/1972">爱图表</a>
<p>AI驱动的智能化图表创作平台</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="爱图表">
<span>99</span>
</div>
</div>
<a href="/ai/1972" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="爱图表">
</a>
</div>
<table width="300px">
<?<span>php
</span><span>echo</span> "<tr>"<span>;
</span><span>if</span>(!<span>empty</span>(<span>$_GET</span>['TrueTable'<span>])){
</span><span>foreach</span>(<span>$varTotal</span> <span>as</span> <span>$v</span><span>){
</span><span>echo</span> "<td>{<span>$v</span>}</td>"<span>;
}
</span><span>echo</span> "<td>结果</td>"<span>;
</span><span>$result</span>=<span>pow</span>(2,<span>$maxN</span><span>);
</span><span>for</span>(<span>$i</span>=0;<span>$i</span><<span>$result</span>;<span>$i</span>++<span>){
</span><span>$resultN</span>[<span>$i</span>]=<span>sprintf</span>("%0{<span>$maxN</span>}d",<span>decbin</span>(<span>$i</span><span>));
</span><span>$resultN</span>[<span>$i</span>]=<span>str_split</span>(<span>$resultN</span>[<span>$i</span><span>]);
}
</span><span>foreach</span>(<span>$resultN</span> <span>as</span> <span>$k</span>=><span>$v</span><span>){
</span><span>echo</span> "<tr>"<span>;
</span><span>foreach</span>(<span>$resultN</span>[<span>$k</span>] <span>as</span> <span>$k1</span>=><span>$v1</span><span>){
</span><span>echo</span> "<td>".<span>$v1</span>."</td>"<span>;
</span><span>$varTotal2</span>[<span>$k1</span>]=<span>$varTotal1</span>[<span>$k1</span>]."=".<span>$v1</span><span>;
</span><span>//</span><span>echo $varTotal2[$k1]." ";</span>
<span>eval</span>(<span>$varTotal2</span>[<span>$k1</span>].";"<span>);
}
</span><span>//</span><span>echo $newExpression;</span>
<span>eval</span>("$varTotal3[] = ".<span>$newExpression</span>.";"<span>);
</span><span>foreach</span>(<span>$varTotal3</span> <span>as</span> <span>$k2</span>=><span>$v</span><span>){
</span><span>if</span>(<span>$v</span>==<span>NULL</span><span>){
</span><span>$varTotal3</span>[<span>$k2</span>]=0<span>;
}
}
</span><span>echo</span> "<td>".<span>$varTotal3</span>[<span>$k</span>]."</td>"<span>;
</span><span>echo</span> "</tr>"<span>;
}
</span><span>//</span><span>print_r($varTotal3);</span>
<span> }
</span>?>
</table>
</div>
</body>
</html>以上就介绍了php版的求表达式的真值表-TrueValueTable,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号