PHP eval()函数其实是一个语法构造器,而不是函数.
eval()的作用是把一个字符串当作PHP代码来执行,如果参数代码中有return,则会返回并停止代码的执行,否则会执行代码并返回null,注意参数字符串必须以分号结束.
本文将阐述php eval()的用法.
如果有两个变量$a 和 $b;一个可变的运算方法$c,可能为加减乘除等;需要将$a和$b运算的结果赋给一个新的变量$d.试看如下代码
<?php
$a=1;
$b=2;
$c='+';
$d=$a.$b.$c;
?>
以上代码并不会得到我们想要的结果.
要解决这个问题,可以用eval().代码如下
<?php
$a = 1;
$b = 2;
$c = array('+','-','*','/');
$r = rand(0,3);
$f = $a . $c[$r] . $b;
//以下代码将随机取一种计算方法来计算$a和$b运算的结果,并将运算结果赋给一个新变量$d,并且返回这个变量.
eval('return $d = ' . $a . $c[$r] . $b .';');
//以下代码如上将$a和$b的运算结果赋给$d,并且直接输出到页面上.
//eval('echo $d = ' . $a . $c[$r] . $b .';');
echo $f . '=' . $d;
?> |
|