ホームページ >バックエンド開発 >PHPチュートリアル >PHP バージョンの式の真理値表 - TrueValueTable、真理値表論理式_PHP チュートリアル
php
error_reporting(E_ALL & ~E_NOTICE);
$expression=$_GET['TrueTable']; //入力ボックスのデータを読み取る
if(!空($_GET['TrueTable'])){
$expression=strtoupper($expression); //入力された小文字を大文字に置き換えます
$expressionArr=str_split($expression); // $expression を配列に変換します
foreach($expressionArr as $v){ // $varTotal 配列に文字を入れます
if($v>='A' && $v<='Z'){
$varTotal[]=$v;
}
}
$varTotal = array_unique($varTotal); // $varTotal 配列内の繰り返し文字を削除します
sort($varTotal); //$varTotal 配列内の文字の前方ソート
$varTotal1 = preg_replace("/([A-Z])/","$\1",$varTotal); // $varTotal1 配列内の文字が変数になります
$maxN = count($varTotal);
//$expressionArr = preg_replace("/([A-Z])/","$\1",$expressionArr); //$expressionArr 配列内の文字が変数になります
$newExpression=implode('',$expressionArr); //$expressionArr配列は文字列になります
// $newExpression をエコーします。" [説明: 論理和 (|)、結合 (&)、非 (!)、含意 (->)、等価 (=) ]
";
$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を配列に変換します
$expressionArr = preg_replace("/([A-Z])/","$\1",$expressionArr);
$newExpression=implode('',$expressionArr);
//echo $newExpression;
}
?>
php
エコー「
」;
if(!空($_GET['TrueTable'])){
foreach($varTotal as $v){
エコー「 {$v} 」;
}echo「結果 」;
$result=pow(2,$maxN);
for($i=0;$i<$結果;$i++){
$resultN[$i]=sprintf("%0{$maxN}d",decbin($i));
$resultN[$i]=str_split($resultN[$i]);
}
foreach($resultN as $k=>$v){
エコー「」;
foreach($resultN[$k] as $k1=>$v1){
echo " 」;
}
//print_r($varTotal3);
}
?>
テーブル>
ボディ>
".$v1." ";
$varTotal2[$k1]=$varTotal1[$k1]."=".$v1;
//エコー $varTotal2[$k1]." ";
eval($varTotal2[$k1].";");
}
//echo $newExpression;
eval("$varTotal3[] = ".$newExpression.";");
foreach($varTotal3 as $k2=>$v){
if($v==NULL){
$varTotal3[$k2]=0;
}
}
echo "".$varTotal3[$k]." ";
エコー「