我试图创建一个函数,其中给定了查询和if语句的主体,但无论我如何创建主体,它总是返回true,我该如何解决这个问题?
public function ifStatement($query, $body) {
if ($query) {
return $body;
}
}
$string1 = '0 == 0';
$string2 = '0 == 1';
$string3 = '1 > 0';
$string4 = '1 < 0';
ifStatement($string1, 'Hello World!'); //Returns True
ifStatement($string2, 'Hello World!'); //Also Returns true
ifStatement($string3, 'Hello World!'); //Also Returns true
ifStatement($string4, 'Hello World!'); //Also Returns true
有没有更有效的方法来处理这个问题,或者有没有方法可以把字符串转换成if语句可以使用的东西,如果有人能帮忙,我会非常感激。
干杯。
2条答案
按热度按时间mkshixfv1#
设置
$string1
和$string2
为真假布尔值而不是字符串。然后检查它。它工作!5lhxktic2#
我不知道你是否找到了问题的答案,但我认为这对未来的读者(如我)来说是有益的,回答这个问题。这post解释了你如何使用
eval(parse())
组合来实现你想做的事情。希望这对你有帮助