我正在尝试创建一个函数,它将 if 语句的条件作为字符串,并将其作为布尔值返回以在 if 语句中使用。一旦我有了布尔值,我希望能够返回
$body
(如果是 true)。
逻辑类似于以下内容:
public function ifStatement($query, $body) {
if (eval($query)) {
return $body;
}
}
因此,在使用该函数时,输出将如下所示,如果条件被评估并且条件为 true,它将返回
$body
,但如果为 false,则不会返回任何内容。
ifStatement('true', 'Hello World!'); // Returns 'Hello World!'
ifStatement('false', 'Hello World!'); // Returns nothing
ifStatement('0 == 0', 'Hello World!'); // Returns 'Hello World!'
ifStatement('0 == 1', 'Hello World!'); // Returns nothing
我正在寻找这样的东西的主要原因是因为我正在创建一个模板引擎,我希望能够将 if 语句和其他逻辑语句作为字符串传递到 php 中并让它返回适当的值。
将
$string1
和 $string2
设置为 true false 布尔值而不是字符串。然后检查它。它有效!
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.