在php中是否可以将字符串转换为if语句的条件

rqdpfwrv  于 2023-01-08  发布在  PHP
关注(0)|答案(2)|浏览(166)

我试图创建一个函数,其中给定了查询和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语句可以使用的东西,如果有人能帮忙,我会非常感激。
干杯。

mkshixfv

mkshixfv1#

设置$string1$string2为真假布尔值而不是字符串。然后检查它。它工作!

function ifStatement($query, $body) {
    if ($query) {
     return $body;
    }
}

$string1 = true;
$string2 = false;
ifStatement($string1, 'Hello World!');        //Returns True
ifStatement($string2, 'Hello World!');               //Return False
    • 产出**
Hello World!      //Outputs only first one which is true.
5lhxktic

5lhxktic2#

我不知道你是否找到了问题的答案,但我认为这对未来的读者(如我)来说是有益的,回答这个问题。这post解释了你如何使用eval(parse())组合来实现你想做的事情。
希望这对你有帮助

相关问题