(PHP 4, PHP 5, PHP 7)
eval — Executa uma string como código PHP
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.
Exemplo #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.
Como toda saída é normalmente enviada direto para o browser, as Funções de Controle de Output podem ser usadas para capturar o resultado e guardá-lo em uma string (por exemplo).
Veja também call_user_func().