php eval函数用法总结


Posted in PHP onOctober 31, 2012

eval定义和用法

eval() 函数把字符串按照 PHP 代码来计算。

该字符串必须是合法的 PHP 代码,且必须以分号结尾。

如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

语法
eval(phpcode)


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

提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
例子

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

输出:
代码如下复制代码 This is a $string $time morning!
This is a beautiful winter morning!
eval() 函数在CodeIgniter框架里也有用到。在 /system/database/DB.php 文件中,根据系统的配置动态的定义了一个类 CI_DB,具体代码片段如下:?
if ( ! isset($active_record) OR $active_record == TRUE) 
{ 
require_once(BASEPATH.'database/DB_active_rec.php'); 
if ( ! class_exists('CI_DB')) 
{ 
eval('class CI_DB extends CI_DB_active_record { }'); 
} 
} 
else 
{ 
if ( ! class_exists('CI_DB')) 
{ 
eval('class CI_DB extends CI_DB_driver { }'); 
} 
} 
require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php'); 
// Instantiate the DB adapter 
$driver = 'CI_DB_'.$params['dbdriver'].'_driver'; 
$DB = new $driver($params);

本函式可将字符串之中的变量值代入,通常用在处理数据库的数据上。参数 code_str 为欲处理的字符串。值得注意的是待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函式处理后的字符串会沿续到 PHP 程序结束。

PHP 相关文章推荐
php设计模式 Facade(外观模式)
Jun 26 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
php session的锁和并发
Jan 22 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
tp5递归 无限级分类详解
Oct 18 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 #PHP
php图片加中文水印实现代码分享
Oct 31 #PHP
php中防止恶意刷新页面的代码小结
Oct 31 #PHP
利用PHP生成静态HTML文档的原理
Oct 29 #PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 #PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 #PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 #PHP
You might like
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
php实现的mongodb操作类
2015/05/28 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
python实现关键词提取的示例讲解
2018/04/28 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
wxPython实现画图板
2020/08/27 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
高中毕业自我评价
2014/02/08 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
入党积极分子个人总结
2015/03/02 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python