The concept of Eval is to execute the string as PHP code. But with respect to its return value, it is sometimes prone to error.
Define a function as follows
function get_func_type(){ returnarray(1=>‘字符串处理‘,‘2‘=>‘数组处理‘);}你能正确说出例1,例2,例3的执行结果吗?
Example 1
$p=eval(‘get_func_type();‘);trace($p);
Example 2
$p=eval(‘return get_func_type();‘);trace($p);
Example 3
eval(‘$p=get_func_type();‘);trace($p);
Example 1 returns NULL,
Example 2 returns the following
Array( [1] => 字符串处理 [2] => 数组处理)
Example 3 returns the following
"'
Array
(
[1] = = string processing
[2] + = array processing
)
For the return value of the Eval function, the manual is defined as follows
This sentence may not be very clear. The simple point is that if there is a return in the execution statement, and return is not inside the function, the value after return is returned, otherwise null is returned.
About the return value of the Eval function in PHP