eval
(PHP 4, PHP 5)
eval — Evaluate a string as PHP code
Description
mixed eval (
string $code_str )
There are some factors to keep in mind when using eval(). Remember that the string passed must be valid PHP code, including things like terminating statements with a semicolon so the parser doesn't die on the line after the eval(), and properly escaping things in code_str . To mix HTML output and PHP code you can use a closing PHP tag to leave PHP mode.
Also remember that variables given values under eval() will retain these values in the main script afterwards.
Parameters
- code_str
-
The code string to be evaluated. code_str does not have to contain PHP Opening tags.
A return statement will immediately terminate the evaluation of the string .
Return Values
eval() returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. If there is a parse error in the evaluated code, eval() returns FALSE and execution of the following code continues normally. It is not possible to catch a parse error in eval() using set_error_handler().
Examples
Example #1 eval() example - simple text merge
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
The above example will output:
This is a $string with my $name in it. This is a cup with my coffee in it.
Notes
Note: Because this is a language construct and not a function, it cannot be called using variable functions
TipAs with anything that outputs its result directly to the browser, the output-control functions can be used to capture the output of this function, and save it in a string (for example).
Note: In case of a fatal error in the evaluated code, the whole script exits.