Menu
En PHP, il n'y a pas de distinction entre une déclaration de fonction et une déclaration de procédure.
Les deux se déclarent comme suit :
function nom de fonction (variable,...., variable) { Instructions à exécuter }
Remarquez que le type des arguments n'a pas besoin d'être précisé.
Donner un exemple d'une fonction et d'une procédure?
Pour réaliser l'équivalent d'une fonction (au sens Pascal) en PHP, il faut faire figurer l'instruction return dans le corps de la fonction.
L'instruction return sert à retourner le résultat de la fonction.
Voici une fonction PHP retournant la factorielle d'un nombre entier n (n! = 1 × 2 × 3 ... × n):
function Factorielle ($n) { $f = 1; for ($i=1;$i<=$n;$i++) { $f=$f * $i; } return $f; }
Voici à présent un exemple complet de page Php, utilisant la fonction factorielle :
Executer ce code source et expliquer le rôle de la fonction rand
Une fonction sans instruction return est l'équivalent d'une procédure.
La fonction PHP suivante par exemple ne contient pas d'instruction return :
Executer ce code source et expliquer le rôle de la fonction TexteEncadre
Par défaut, toute variable utilisée dans une fonction est locale à la fonction. Par exemple, le code suivant provoque une erreur:
Pour pouvoir utiliser une variable externe à une fonction, il faut la déclarer en global à l'intérieur de la fonction. Par exemple, pour utiliser la variable x dans la fonction précédente on écrira:
En exécutant cet exemple, vous constaterez qu'il n'y a plus de message d'erreur.
Autre point important concernant la portée des variables en Php: la durée de vie d'une variable (même globale !) est limitée à celle de l'interprétation de la page.
Vous constatez, par exemple qu'en exécutant l'exemple suivant plusieurs fois, la fonction f, n'ajoute pas trois à la valeur précédente:
Donner un exemple d'un fonction avec une variable globale?
Pour pouvoir utuliser les mêmes fonctions dans plusieurs page, Php permet d'inclure un fichier php à l'intérieur d'un autre à l'aide de l'instruction include.
Voilà par exemple comment utiliser la fonction TexteEncadre dans deux pages php distinctes:
Le fichier TexteEncadre2.php quand à lui, ne contient que la définition de la fonction TexteEncadre:
Utilser la fonction TexteEncadre pour afficher le texte "Toute espèce de racisme conduit inévitablement à l'écrasement de l'homme."