PHP 如何将 eval(0 赋给变量

发布于 2024-10-20 23:54:33 字数 336 浏览 1 评论 0原文

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

    //echo $xs;

此代码返回“始终”,但我不想要它。 我需要将此变量带到其他地方。

抱歉英语不好。

编辑:

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

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

    //echo $xs;

This code returns 'always' but i don't want it.
I need to take this variable elsewhere.

Sorry for bad english.

EDIT:

PEOPLE!!!!!!!This sample code. I know that eval() in this case is not needed, but the code in my other projects will be. I need to what eval() returns were entered into a variable. "

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

时间海 2024-10-27 23:54:33

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

<?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'

Here's a simple way to get the result:

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

To get the return value of eval() you'll need to return something inside the evaluated code, e.g.:

$xs = eval("return '1' == '0' ? 'never' : 'always';");
echo $xs; // echoes 'always'
骷髅 2024-10-27 23:54:33
$xs = ('1' == '0') ? 'never' : 'always';
$xs = ('1' == '0') ? 'never' : 'always';
幸福还没到 2024-10-27 23:54:33

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

尝试这样的事情:

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

this code makes no sense and eval sucks :-)

try something like this:

$xs = '1' == '0' ? 'never' : 'always';
echo $xs;
伴我老 2024-10-27 23:54:33
$xs = ('1' == '0') ? 'never' : 'always';

这是另一种结构,您也可以在字符串中使用,只要您在它周围有括号:)

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

This is an alternative structure that you can use in string too, given you get parenthesis around it :)

西瑶 2024-10-27 23:54:33

不要使用评估!

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

echo test();

Dont use eval !

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

echo test();
若水微香 2024-10-27 23:54:33

假设您有充分的理由使用 eval,您可以使用它的恶魔之一 create_function 来代替。

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

Assuming you have a very good reason to use eval you can use one of its fiends create_function instead.

$x2 = create_function( '$a', 'echo $a == 1 ? "yes" : "no";' );
$x2( 1 ); // echos 'yes'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文