浅谈PHP eval()函数定义和用法

 更新时间:2016年06月21日 15:11:36   投稿:jingxian  
下面小编就为大家带来一篇浅谈PHP 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);

以上这篇浅谈PHP eval()函数定义和用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PHP sdk实现在线打包代码示例

    PHP sdk实现在线打包代码示例

    这篇文章主要介绍了PHP sdk实现在线打包代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • php类声明和php类使用方法示例分享

    php类声明和php类使用方法示例分享

    这篇文章主要介绍了php类声明和php类使用方法示例,需要的朋友可以参考下
    2014-03-03
  • PHP错误处理函数

    PHP错误处理函数

    在 PHP 中,默认的错误处理很简单。一条错误消息会被发送到浏览器,这条消息带有文件名、行号以及描述错误的消息
    2016-04-04
  • PHP中__autoload和Smarty冲突的简单解决方法

    PHP中__autoload和Smarty冲突的简单解决方法

    这篇文章主要介绍了PHP中__autoload和Smarty冲突的简单解决方法,通过spl_autoload_register注册__autoload函数的方法来解决__autoload函数再在Smarty无效的问题,需要的朋友可以参考下
    2016-04-04
  • PHP连接access数据库

    PHP连接access数据库

    本文给大家介绍的是在php中使用ADO来链接ACCESS数据库的方法的示例,非常的的简单使用,推荐给有需要的小伙伴们参考下。
    2015-03-03
  • PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能

    PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能

    这篇文章主要介绍了PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • CI框架常用函数封装实例

    CI框架常用函数封装实例

    这篇文章主要介绍了CI框架常用函数封装,结合实例形式分析了CI框架常用的数据库查询、插入、删除、更新及debug调试等操作技巧,需要的朋友可以参考下
    2016-11-11
  • php设计模式之工厂方法模式分析【星际争霸游戏案例】

    php设计模式之工厂方法模式分析【星际争霸游戏案例】

    这篇文章主要介绍了php设计模式之工厂方法模式,结合具体星际争霸游戏案例形式分析了PHP工厂方法模式的相关原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-01-01
  • Yii框架用户登录session丢失问题解决方法

    Yii框架用户登录session丢失问题解决方法

    这篇文章主要介绍了Yii框架用户登录session丢失问题解决方法,通过针对底层代码的修改解决session丢失问题,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • php实现的IMEI限制的短信验证码发送类

    php实现的IMEI限制的短信验证码发送类

    本文给大家分享的是可以检验手机号码与IMEI的短信验证码发送的php类,十分的实用,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-05-05

最新评论