$gted = (object)'>';
if(200 $gted 300){
echo 'wow it worked';
}else{
echo 'no it didnt work';
}
我正在尝试转换'>'到条件>在if
语句中使用。感谢。
答案 0 :(得分:3)
这不会像你拥有它一样。变量不能直接解释为PHP中的运算符,另请参阅this question。
即使你可以将变量解释为运算符,你在字符串'object'中的内容是而不是一个大于号的符号,它是一个HTML实体,当被解释为时作为一个HTML实体,产生看起来的东西,就像一个大于号的符号。
This question有一些答案,其中包括算术运算符的一些变通方法,可用于存储要在if
语句中进行求值的结果。作为在这个答案中使用的一个例子,我借用了this answer的create_function
部分{@ 3}},并使用了{{3}}
$operator = '+';
$func = create_function('$a,$b', "return \$a $operator \$b;");
$result = $func(5, 1);
echo $result;
如您所料,回声结果为6
。您可以更改正在使用的运算符,以便伪匿名函数返回一个布尔值,然后您可以插入if
语句:
$operator = '>';
$func = create_function('$a,$b', "return \$a $operator \$b;");
$result = $func(200, 300);
if($result) {
echo 'wow it worked';
} else {
echo 'no it didnt work';
}
除了我目前无法想象的极端和非常具体的情况外,我不认为这是一个好主意。