Php 如何使用字符串而不是==或!=in-IF语句

Php 如何使用字符串而不是==或!=in-IF语句,php,if-statement,eval,Php,If Statement,Eval,我不知道如果我把==或!=放进去,我怎么能使if工作在变量中,例如 $comparison_operator = " != "; if ( 5 $comparison_operator 5 ) { echo "true"; } else { echo "false"; } 我尝试使用eval,但是只有当您将整个表达式而不仅仅是变量放入其中时,它才起作用 这很有效 $comparison_operator = " != "; if ( eval('return(5 $compar

我不知道如果我把==或!=放进去,我怎么能使if工作在变量中,例如

$comparison_operator = " != ";

if ( 5 $comparison_operator 5 ) {
   echo "true";
} else {
   echo "false";
}
我尝试使用eval,但是只有当您将整个表达式而不仅仅是变量放入其中时,它才起作用

这很有效

$comparison_operator = " != ";

if ( eval('return(5 $comparison_operator 5);') ) {
   echo "true";
} else {
   echo "false";
}
这是不可能的,我需要一个看起来像这样的版本来工作,我也尝试了变量,但运气不好,有什么想法吗

$comparison_operator = " != ";

if ( 5 eval('return($comparison_operator)') 5 ) {
   echo "true";
} else {
   echo "false";
}

首先为什么要这样做?有趣的是,我从来没有想过。我认为PHP不允许您使用变量作为操作数。尝试使用if-else语句确定要使用的操作数。我同意@PeeHaa$comparison_operator=!=;函数比较$operand1、$operand2、$operator{switch$operator{case'==':返回$operand1==$operand2;case'!=':返回$operan1!=$operand2;}}如果是比较5,$operand2;},则为5{echo true;}否则为{echo false;}
<?php

$comparison_operator = " == ";
eval("\$op = 5" . $comparison_operator . "5 ? true : false;");

if ($op) {
   echo "true";
} else {
   echo "false";
}

?>