PHP eval() 函数,phpeval函数
程序员文章站
2022-05-09 13:39:38
...
PHP eval() 函数,phpeval函数
定义和用法
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
语法
?
eval (phpcode)
|
参数 | 描述 |
---|---|
phpcode | 必需。规定要计算的 PHP 代码。 |
提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段*日后计算而进行的代码存储很有用。
例子
?
|
输出:
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 mysqli_kill MySQLi 函数
-
WordPress中调试缩略图的相关PHP函数使用解析
-
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
-
PHP中list()函数用法实例简析
-
PHP使用strstr()函数获取指定字符串后所有字符的方法
-
PHP中addcslashes与stripcslashes函数用法分析
-
PHP中substr函数字符串截取用法分析
-
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
-
PHP使用trim函数去除字符串左右空格及特殊字符实例