Forum und email

eval

(PHP 4, PHP 5)

eval — Executa uma string como código PHP

Descrição

mixed eval ( string $code_str )

A função eval() executa a string dada no parâmetro code_str como código PHP. Entre outras coisas, isto pode ser útil para guardar código em um campo de texto de um banco de dados para execução posterior.

Há alguns fatores para lembrar quando usar eval(). Lembre-se que a string passada deve ser código PHP valido, incluindo coisas como terminar os comandos com ponto-e-vírgula assim o compilador não morre uma linha após eval(), escapar as coisas propriamente em code_str .

Também se lembre que as variáveis que tenham seus valores em eval() irão reter estes valores para o resto do script.

Um comando return irá terminar a execução do script imediatamente No PHP 4, eval() retorna NULL a menos que return() seja chamado no código executado, caso no qual o valor passado para return() é retornado. No PHP 3, eval() não retorna um valor.

Example#1 Exemplo eval()

<?php
$string 
'taça';
$name 'café';
$str 'Esta é uma $string com o meu $name nela.';
echo 
$str"\n";
eval(
"\$str = \"$str\";");
echo 
$str "\n";
?>

O exemplo acima irá mostrar

Esta é uma $string com o meu $name nela.
Esta é uma taça com o meu café nela.

Dica

Como toda saída é normalmente enviada direto para o browser, você pode usar as Funções de Controle de Output para capturar o resultado e guardá-lo em uma string (por exemplo).

Veja também call_user_func().