可以在php.ini禁止此函数,结果失败了
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 />"; // www.jbxue.com
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')) 
{ // www.jbxue.com
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 eval函数用法总结的更多相关文章

  1. eval()函数用法详解

    eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...

  2. eval函数用法

    JavaScript 全局对象 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字 ...

  3. 【转】eval()函数用法

    eval 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Py ...

  4. 使用本函式处理后的字串会沿续到PHP程式而转入eval函数

    html码放在数据库里,通过php文件调用,经过一系列处理后,用eval函数 将希望的变量带入生成所需要的动态页.这样,我就没再看vbb源码,而转入eval函数了. 星空浪子的php中文手册是这样介绍 ...

  5. Makefile eval函数

    https://www.cnblogs.com/gaojian/archive/2012/10/04/2711494.html对 makefile 中 eval 函数的学习体会 http://blog ...

  6. Python eval()函数的用法

    Python eval()函数的用法 eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果.所以,结合math当成一个计算器很好用. eval()函数常见作用有 ...

  7. Ajax中的eval函数的用法

    eval的定义和使用: Eval它是用来计算某个字符串,并且执行其中的JavaScript代码. 语法: 1) eval函数接受一个string这个参数,并且这个参数是必须的,这个参数就是要计算的这个 ...

  8. JavaScript中eval函数的用法

    1. eval函数会计算传给的字符串, 并把作为脚本代码来执行. eval(str) 此函数接受一个字符串作为参数,并把str当做一段JavaScript脚本代码来执行,如果str执行结果返回一个值则 ...

  9. 浅谈JavaScript eval() 函数

    用js的人都应该知道eval()函数吧,虽然该函数用的极少,但它却功能强大,那么问题来了,为什么不常用呢?原因很简单,因为eval()函数是动态的执行其中的字符串,里面有可能是脚本,那么这样的话就有可 ...

随机推荐

  1. 给定表达式[x/2] + y + x * y, 其中x,y都是正整数。

    改进了一下,不过还是要十多秒吧. package com.boco.study; import java.math.BigDecimal; import java.util.Calendar; imp ...

  2. JAVA实现的异步redisclient

    再使用redis的过程中,发现使用缓存尽管好,可是有些地方还是比較难权衡,缓存对象大了,存储对象时的序列化工作非常繁重,消耗大量cpu:那么切分成非常小的部分吧,存取的次数变多了,redisclien ...

  3. TOP30专访:捕鱼达人陈昊芝

    原文:http://www.csdn.net/article/2012-04-04/313919/1 编者按:3月31日,第四届CocoaChina游戏开发者大会暨Cocos2D-X技术研讨会在北京举 ...

  4. 深入学习block

    首先,什么是block?block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用.那block是OC对象吗?答案是肯定的. 做一道很简单的关于block的测试题: i ...

  5. python--判断数据类型可不可变

    内存是一块空间,可以比喻成一个比较大的房子,定义一个变量就是在大房子中建立一个小房子,判断一个数据类型可不可变,就是看在这个这个大房子中有没有新建小房子,可以通过id来判断,如果id没有变化则是不可变 ...

  6. GoF的23个经典设计模式

    以文本和思维导图的方式简明扼要的介绍了GoF的23个经典设计模式,可当成学习设计模式的一个小手册,偶尔看一下,说不定会对大师的思想精髓有新的领悟. GoF(“四人帮”,又称Gang of Four,即 ...

  7. Spring 4.2 annotation event Publisher/Listener

    http://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2 Better applicatio ...

  8. docker container link

    http://blog.csdn.net/kongxx/article/details/38676917

  9. ListView控件的列表项的文字不满一行的时候,如何实现点击该列表项的空白区域仍可触发列表项的点击事件

    今天在做Demo的过程中,使用到了ListView.然而在实现过程中,发现一个出现了一个问题:只能点击列表项的文字区域可以触发点击事件,而点击列表项的空白区域无法触发点击事件. 如下图: listit ...

  10. C++实现元组

    一般我们使用struct时需要在头文件中定义,例如 struct Example { int a; char b; ... }; 这样将数据打包好必须在程序运行之前将其定义好,如果有需求在程序运行时添 ...