浅谈PHP eval()函数定义和用法
eval()函数把字符串按照PHP代码来计算。
该字符串必须是合法的PHP代码,且必须以分号结尾。
如果没有在代码字符串中调用return语句,则返回NULL。如果代码中存在解析错误,则eval()函数返回false。
语法
eval(phpcode)
参数
描述
提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
例子
<?php $string="beautiful"; $time="winter"; $str='Thisisa$string$timemorning!'; echo$str."<br/>"; eval("\$str=\"$str\";"); echo$str; ?>
输出:
Thisisa$string$timemorning!
Thisisabeautifulwintermorning!
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('classCI_DBextendsCI_DB_active_record{}'); } } else { if(!class_exists('CI_DB')) { eval('classCI_DBextendsCI_DB_driver{}'); } } require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php'); //InstantiatetheDBadapter $driver='CI_DB_'.$params['dbdriver'].'_driver'; $DB=new$driver($params);
以上这篇浅谈PHPeval()函数定义和用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。