(PHP 4, PHP 5)
eval — Исполняет код PHP, содержащейся в строке
Исполняет строку, переданную в параметре code_str
,
как код PHP. Помимо прочего, это может быть полезно при хранении кода в
текстовом поле базы данных для его вызова по необходимости.
При использовании функции eval() необходимо учитывать
несколько факторов. Помните о том, что используемые строки должны содержать
правильный PHP код, включая, к примеру, использование точки с запятой в
завершение строки так, чтобы парсер не отключился на строке после
eval() и правильно обработал строку
code_str
. Для совмещения вывода HTML и PHP кода
вы можете использовать закрывающий тег PHP.
Также помните, что значения переменных, заданных в eval(), будут перенесены в главный скрипт.
code_str
Исполняемая строка кода.
Строка code_str
может не содержать открывающий тег PHP.
Использование return позволяет немедленно прекратить выполнение кода, указанного в строке.
Функция eval() возвращает NULL
пока не вызывается
return, в случае чего возвращается значение, переданное
return. Если в исполняемом коде присутствует ошибка, то
eval() возвращает FALSE
и продолжается нормальное
выполнение последующего кода. Ошибку обработки кода парсером невозможно
использовать в set_error_handler().
Пример #1 Пример функции eval() - простое слияние текста
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
Результат выполнения данного примера:
This is a $string with my $name in it. This is a cup with my coffee in it.
Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций.
Как и с любой другой функцией, осуществляющей вывод непосредственно в браузер, вы можете использовать функции контроля вывода, чтобы перехватывать выводимые этой функцией данные и сохранять их, например, в string.
Замечание:
В случае фатальной ошибки в исполняемом коде прекращается исполнение всего скрипта.