<?php
$xs = eval("if ('1' == '0')
echo 'never';
else
echo 'always';");
//echo $xs;
此代码返回'always'但我不想要它。 我需要在其他地方采用这个变量。
抱歉英文不好。
修改
PEOPLE !!!!!!!这个示例代码。我知道在这种情况下不需要eval(),但我的其他项目中的代码将是。我需要将eval()返回的内容输入变量。 “
答案 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'