Funciones Varias
PHP Manual

eval

(PHP 4, PHP 5)

evalEvaluar una cadena como código PHP

Descripción

mixed eval ( string $code_str )

Evalua la cadena dada por code_str como código PHP. Entre otras cosas, esto puede ser útil para almacenar código en un campo de texto de una base de datos para su ejecución posterior.

Existen algunos factores que hay que tener en cuenta cuando se usa eval(). Recuerde que la cadena pasada debe ser código PHP válido, incluyendo aspectos como la finalización de las sentencias con un punto y coma, ya que así el analizador no terminará en la línea que va después de eval(), y escapar de manera apropiada cosas en code_str. Para mezclar salida HTML y código PHP se puede usar una etiqueta de cierre de PHP para dejar el modo PHP.

Recuerde también que los valores de las variables dadas bajo eval() conservarán después estos valores en el script principal.

Parámetros

code_str

La cadena de código a ser evaluada. code_str no tiene que contener etiquetas de apertura de PHP.

Una sentencia return finalizará inmediantamente la evaluación de la cadena.

Valores devueltos

eval() devuelve NULL a menos que se llame a return en el código evaluado, en cuyo caso el valor pasado a return es devuelto. Si hay un error de análisis en el código evaluado, eval() devolverá FALSE y la ejecución del código posterior continuará normalmente. No es posible capturar un error de análisis de eval() usando set_error_handler().

Ejemplos

Example #1 Ejemplo de eval() - fusión de texto sencillo

<?php
$cadena 
'taza';
$nombre 'café';
$str 'Esto es una $cadena con mi $nombre en ella.';
echo 
$str"\n";
eval(
"\$str = \"$str\";");
echo 
$str"\n";
?>

El resultado del ejemplo sería:

Esto es una $cadena con mi $nombre en ella.
Esto es una taza con mi café en ella.

Notas

Note: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables

Tip

Como con todo lo que presenta un resultado directamente en el navegador, se pueden utilizar las funciones de control de salida para capturar el resultado de esta función y grabarlo - por ejemplo - en un string.

Note:

En caso de un error fatal en el código evaluado, se saldrá del script completamente.

Ver también


Funciones Varias
PHP Manual