Definition and usage
eval() function calculates string according to PHP code.
The string must be legal PHP code and must end with a semicolon.
If no return statement is called in the code string, NULL is returned. If there are parsing errors in the code, the eval() function returns false.
Syntax
?
eval (phpcode) 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!
<br>eval() 函数在CodeIgniter框架里也有用到。在 /system/database/DB.php 文件中,根据系统的配置动态的定义了一个类 CI_DB,具体代码片段如下:
Copy after login
?
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 );
|
Parameters |
Description |
phpcoderequired. Specifies the PHP code to be calculated. 🎜🎜🎜🎜🎜Tips and Notes🎜🎜🎜Note: 🎜The return statement immediately terminates the evaluation of the string. 🎜🎜🎜Comments: 🎜This function is useful for storing code in a database text field for later calculations. 🎜🎜🎜Example🎜🎜🎜?🎜🎜🎜🎜🎜🎜🎜<?php
🎜🎜$string
=
"beautiful "
;
🎜🎜$time
=
"winter"
;
🎜🎜$str
=
'This is a $string $time morning!'
;
🎜🎜 echo
$str
.
"<br />"
;
🎜🎜 eval
(
"$str = "$str";"
);
🎜🎜echo
$str;
🎜🎜?>
🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜Output: 🎜This is a $string $time morning! 🎜🎜This is a beautiful winter morning!🎜🎜rrreee🎜🎜?🎜🎜🎜🎜🎜🎜🎜if
( ! isset(
$active_record
) OR
$active_record
== TRUE)
🎜🎜
{
🎜🎜
require_once
(BASEPATH.
'database/DB_active_rec.php'
);
🎜🎜
if
( !
class_exists
(
'CI_DB' code><code>))
🎜🎜
{
🎜🎜
eval
(<code>'class CI_DB extends CI_DB_active_record { }'
);
🎜🎜
}
🎜🎜 <code>}
🎜🎜
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<code>=
new
$driver
(
$params
);
🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜
🎜
The above has introduced 2778085001, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials. 🎜
🎜
🎜