Manuel PHP
Précédent |  | Suivant

# eval

(PHP 3, PHP 4, PHP 5)

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

## Description

mixed eval ( string code_str )

eval() é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. `code_str` ne doit pas nécessairement contenir des balises d'ouvertures de PHP.

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.

Une commande `return` terminera l'évaluation de la chaîne immédiatement. 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`. Dans le cas d'une erreur fatale dans le code évalué, l'ensemble du script se terminera. En PHP 3, eval() ne retourne pas de valeur.

Exemple 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.

> Astuce : 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.

Voir aussi call_user_func().

Précédent | Sommaire | Suivant
die | Niveau supérieur | exit