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实现多条件查询实例代码
Jul 17 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
基于Linux调试工具strace与gdb的常用命令总结
Jun 03 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
深入浅出php socket编程
May 13 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
PHP中list方法用法示例
Dec 01 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
php用xpath解析html的代码实例讲解
Feb 14 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
validator验证控件使用代码
2010/11/23 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
python 矩阵增加一行或一列的实例
2018/04/04 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
运动会开幕式主持词
2014/03/28 职场文书
投资入股合作协议书
2014/10/28 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
创业计划书之美容店
2019/09/16 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
微信小程序调用python模型
2022/04/21 Python
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers