PHP如何分配eval(0到变量

时间:2011-03-08 12:40:49

标签: php variables eval

<?php  
    $xs = eval("if ('1' == '0')
                echo 'never';
            else
                echo 'always';");

    //echo $xs;

此代码返回'always'但我不想要它。 我需要在其他地方采用这个变量。

抱歉英文不好。

修改

PEOPLE !!!!!!!这个示例代码。我知道在这种情况下不需要eval(),但我的其他项目中的代码将是。我需要将eval()返回的内容输入变量。 “

6 个答案:

答案 0 :(得分:8)

这是获得结果的简单方法:

<?php  
ob_start();
eval("if ('1' == '0')
            echo 'never';
        else
            echo 'always';");
$xs = ob_get_contents();
ob_end_clean();
//echo $xs;

要获得eval()的返回值,您需要在评估代码中返回一些内容,例如:

$xs = eval("return '1' == '0' ? 'never' : 'always';");
echo $xs; // echoes 'always'

答案 1 :(得分:1)

$xs = ('1' == '0') ? 'never' : 'always';

答案 2 :(得分:1)

这段代码毫无意义,而eval很糟糕: - )

尝试这样的事情:

$xs = '1' == '0' ? 'never' : 'always';
echo $xs;

答案 3 :(得分:1)

$xs = ('1' == '0') ? 'never' : 'always';

这是一个替代结构,你可以在字符串中使用它,因为你得到括号:)

答案 4 :(得分:0)

不要使用eval!

function test()
{
    return '1' == '0' ? 'never' : 'always';;
}

echo test();

答案 5 :(得分:0)

假设你有充分的理由使用eval,你可以使用它的一个恶魔create_function

$x2 = create_function( '$a', 'echo $a == 1 ? "yes" : "no";' );
$x2( 1 ); // echos 'yes'
相关问题