首页 >php教程 >php手册 >PHP函数eval()介绍和使用示例,eval示例

PHP函数eval()介绍和使用示例,eval示例

WBOY
WBOY原创
2016-06-13 09:26:471280浏览

PHP函数eval()介绍和使用示例,eval示例

什么是eval()?

eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

语法

eval(phpcode)

复制代码 代码如下:


参数  描述
phpcode  必需。规定要计算的 PHP 代码。

例子1

复制代码 代码如下:


$string = "beautiful";
$time = "winter";
 
$str = 'This is a $string $time morning!';
echo $str. "
";
 
eval("\$str = \"$str\";");
echo $str;
?>

输出:
This is a $string $time morning!
This is a beautiful winter morning!

例子2

我们使用for循环创建n个随便,值成倍增加

复制代码 代码如下:


 
for($i=1;$i         eval('$a'.$i.'='.($i*$i).';');
}
 
for($i=1;$i         eval('echo $a'.$i.'.\'
\' ;');
}
 
echo '
';
echo $a1 + $a10;


输出:

复制代码 代码如下:


1
4
9
16
25
36
49
64
81
100
101

PHP中eval()函数的使用方法

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;
 

php怎使用eval()函数更改这个实例?

$f ='$';

$f.$a.$this->i
这是什么写法,显然应该就不是你要的效果,这相当于字符串连接了。大概你的意思是要这样的,$($a.$this->i)。 其他的再慢慢考虑吧
 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn