关于eval 的概念就是把字符串作为PHP代码执行。但是关于其返回值,有时候容易出错。
如下面定义一个函数
function get_func_type(){
return array(1=>‘字符串处理‘,‘2‘=>‘数组处理‘);
}
你能正确说出例1,例2,例3的执行结果吗?
例1
$p=eval(‘get_func_type();‘);
trace($p);
例2
$p=eval(‘return get_func_type();‘);
trace($p);
例3
eval(‘$p=get_func_type();‘);
trace($p);
例1返回null,
例2返回如下
Array
(
[1] => 字符串处理
[2] => 数组处理
)
例3返回如下
“`
Array
(
[1] => 字符串处理
[2] => 数组处理
)
关于eval函数的返回值,手册上是如下定义的
这句话可能说的不是很清楚。简单点就是如果,执行语句中有return,且return不在函数里面,则返回Return后面的值,否则返回null。
时间: 2024-10-06 21:50:15