Forum und email
eval

eval

(PHP 3, PHP 4, PHP 5)

eval -- Vyhodnotí řetězec jako PHP kód

Popis

mixed eval ( string code_str )

eval() vyhodnotí řetězec předaný v code_str jako PHP kód. Kromě jiného se dá využít na ukládání kódu v textovém sloupci databáze pro pozdější vykonání.

Při používání eval() byste měli mít na paměti několik faktorů. Pamatujte si, že předávaný řetězec musí být platný PHP kód, včetně věcí jako ukončování výrazů středníkem, aby parser nezemřel na řádku po eval(), a řádné escapování v code_str.

Také pamatujte, ze hodnoty přiřazené proměnným v eval() těmto proměnným zůstanou i v hlavním skriptu.

Výraz return okamžitě ukončí vyhodnocování předaného řetězce. V PHP 4 můžete použít return k vrácení hodnoty, která se stane výsledkem eval() funkce, zatímco v PHP 3 byl eval() typu void nic nevracel.

Příklad 1. eval() příklad - jednoduché spojení textů

<?php
$string
= 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.<br>';
echo
$str;
eval (
"\$str = \"$str\";");
echo
$str;
?>

Výše uvedený příklad ukáže:

This is a $string with my $name in it.
This is a cup with my coffee in it.