什么是eval()?
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
语法
eval(phpcode)
例子1
输出:
This is a $string $time morning!
This is a beautiful winter morning!
例子2
我们使用for循环创建n个随便,值成倍增加
eval() 括号中必须是字符串
假如你写 $a=1; eval("echo (\$a+\$b);"); 运行结果是 1
如果是 $a=1; eval("echo ($a+$b);"); 则报错
这说明里面最好是严格的字符串 并且是完整的PHP语句
$a=1; eval("echo \$a;");
$a=1; eval("echo $a;");
上面结果一样 以为第一个eval 是执行了 echo $a; 而第二句是执行 echo 1;
$f ='$';
$f.$a.$this->i
这是什么写法,显然应该就不是你要的效果,这相当于字符串连接了。大概你的意思是要这样的,$($a.$this->i)。 其他的再慢慢考虑吧