Forum und email

eval

(PHP 4, PHP 5)

eval — Exécute une chaîne comme un script PHP

Description

mixed eval ( string $code_str )

Évalue la chaîne code_str comme un script PHP. Parmi les utilisations possibles, cette fonction permet de stocker du code dans une base de données, pour utilisation ultérieure.

Il faut bien garder en tête que le code passé à eval() doit être valide, y compris les points virgules de fin de lignes et les séquences d'échappement, sinon l'exécution se terminera. Pour mélanger des sorties HTML et du code PHP, vous pouvez utiliser une balise de fermeture de PHP pour quitter le mode PHP.

N'oubliez pas que les variables utilisées dans la fonction eval() resteront accessibles dans le script principal.

Liste de paramètres

code_str

Le code à évaluer. code_str ne doit pas nécessairement contenir des balises d'ouvertures de PHP.

Une commande return terminera l'évaluation de la chaîne immédiatement.

Valeurs de retour

Depuis PHP 4, eval() retourne NULL sauf si return est appelée dans le code évalué, auquel cas la valeur passée à return est retournée. Dans le cas d'une erreur de syntaxe dans le code évalué, eval() retourne FALSE.

En PHP 3, eval() ne retourne pas de valeur.

Exemples

Example#1 Exemple avec eval() - concaténation de texte

<?php
$string 
'tasse';
$name 'café';
$str 'Ceci est une $string avec mon $name dedans.<br />';
echo 
$str;
eval( 
"\$str = \"$str\";" );
echo 
$str;
?>

L'exemple ci-dessus va afficher :

Ceci est une $string avec mon $name dedans.
Ceci est une tasse avec mon café dedans.

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les variables fonctions.

Tip

Comme pour toutes les fonctions qui affichent directement des résultats au navigateur, vous pouvez utiliser les fonctions de gestion des sorties pour capturer le contenu de cette fonction et le sauver, par exemple, dans une chaîne.

Note: Dans le cas d'une erreur fatale dans le code évalué, l'ensemble du script se terminera.

Voir aussi