eval() вычисляет строку, заданную в
code_str, как код PHP. Помимо всего прочего,
это может оказаться полезным для хранения кода в текстовом поле БД для последующего исполнения.
При использовании eval() необходимо помнить о нескольких вещах. Запомните, что передаваемая строка
обязана быть правильным кодом PHP, включая окончание операторов точкой с
запятой, чтобы разборщик не отвалил на строке после eval(), и правильное escap-ируйте в
code_str.
Также помните, что значения, заданные переменным в
eval(), останутся действовать затем и в основном скрипте.
Оператор return завершит вычисление строки немедленно. В PHP 4 eval() возвращает
FALSE, если не вызвана return() в вычисляемом коде,
и в этом случае возвращается значение, передаваемое в return().
В PHP 3 eval() не возвращает значения.
Пример 1. eval() - простое объединение текста
<?php
$string = ’cup’;
$name = ’coffee’;
$str = ’This is a $string with my $name in it.<br>’;
echo $str;
eval ("$str = "$str";");
echo $str;
?>
Этот пример выведет:
This is a $string with my $name in it.
This is a cup with my coffee in it.
Подсказка: как всегда при выводе результатов непосредственно в браузер, вы можете
использовать функции управления выводом
для захвата вывод этой функции и сохранения его, например в string.