php变量可以包含if语句吗?

时间:2014-09-25 09:54:54

标签: php

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

像这样:

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

3 个答案:

答案 0 :(得分:2)

是的,这是可能的。但要运行$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);

答案 1 :(得分:1)

您可以存储运行if的函数。它被称为closure

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

$greet('World');
$greet('PHP');

答案 2 :(得分:0)

最好的方法是

$num=0;
if($num==0)
{
$var = true;
print $var;
}
相关问题