Php 如何使用字符串而不是==或!=in-IF语句
我不知道如果我把==或!=放进去,我怎么能使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
$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";
}
?>