PHP函数eval()介绍和使用示例,eval示例
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)。 其他的再慢慢考虑吧
推荐阅读
-
PHP函数eval()介绍和使用示例,eval示例
-
PHP中可以自动分割查询字符的Parse_str函数使用示例_PHP教程
-
PHP 的 md5 和 uniqid 函数使用示例
-
PHP 使用header函数设置HTTP头的示例解析 表头
-
js eval函数使用,js对象和字符串互转实例
-
字符串长度函数strlen和mb_strlen的区别示例介绍_PHP
-
php递归使用示例(php递归函数)
-
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍_PHP教程
-
php定义数组和使用示例(php数组的定义方法)
-
PHP中使用register_shutdown_function函数截获fatal error示例_PHP教程