php变量是否可以包含if语句


Can a php variable contain if statement?

php变量是否可以存储if语句?

像这样:

$num=0;
$var='if($num==0){print "true";}'            

是的,这是可能的。但是要运行$var代码,您需要使用eval函数,这是一种非常糟糕的做法:

<?php
$num=0;
$var='if($num==0){print "true";}';
eval($var);

您可以考虑将此代码更改为:

<?php
$num=0;
$val = 'numFunction';
$val($num);
function numFunction($num)
{
    if($num==0)
        print "true";
}

或者像@Napolux建议的那样关闭:

<?php
$num=0;
$val = function($num)
{
    if($num==0)
        print "true";
};
$val($num);

您可以存储一个运行if的函数。它被称为闭包。

$greet = function($name)
{
    if($name != '') {
        printf("Hello %s'r'n", $name);
    }
};
$greet('World');
$greet('PHP');

最好的方法是

$num=0;
if($num==0)
{
$var = true;
print $var;
}