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
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)。 其他的再慢慢考虑吧
http://www.bkjia.com/PHPjc/866677.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/866677.htmlTechArticlePHP函数eval()介绍和使用示例,eval示例 什么是eval() eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号...
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn