Manuel PHP
Précédent |  | Suivant

# Chapitre 12. Les fonctions

# Les fonctions

Une fonction peut être définie en utilisant la syntaxe suivante :

Exemple 12-1. Définition d'une fonction

`<?php function foo ($arg_1, $arg_2, ..., $arg_n) { echo "Exemple de fonction.\n"; return $retval; } ?>`

Tout code `PHP`, correct syntaxiquement, peut apparaître dans une fonction et dans une définition de classe.

En `PHP` 3, les fonctions doivent être définies avant qu'elles ne soient utilisées. Ce n'est plus le cas en `PHP` 4.

Lorsqu'une fonction est définie de manière conditionnelle, comme dans les exemples ci-dessous, leur définition doit précéder leur utilisation.

Exemple 12-2. Fonctions conditionnelles

`<?php
$makefoo = true;
/* Impossible d'appeler foo() ici,
car cette fonction n'existe pas.
Mais nous pouvons utiliser bar() */
bar();
if ($makefoo) {
function foo ()
{
echo "Je n'existe pas tant que le programme n'est pas passé ici.\n";
}
}
/* Maitenant, nous pouvons appeler foo()
car $makefoo est maintenant vrai */
if ($makefoo) foo();
function bar() {
{
echo "J'existe dès de début du programme.\n";
}
?>`

Exemple 12-3. Fonctions dans une autre fonctions

`<?php function foo() { function bar() { echo "Je n'existe pas tant que foo() n'est pas appelé.\n"; } } /* Impossible d'appeler bar() ici car il n'existe pas. */ foo(); /* Maintenant, nous pouvons appeler bar(), car l'utilisation de foo() l'a rendu accessible. */ bar(); ?>`

`PHP` ne supporte pas le surchargement de fonction, ni la destruction ou la redéfinition de fonctions déjà déclarées.

> Note : Les noms de fonctions sont insensibles à la casse, et il est généralement admis que les fonctions doivent être appelée avec le nom utilisé dans leur déclaration, y compris la casse.

`PHP` 3 ne supporte pas un nombre variable d'arguments (voir valeurs par défaut d'arguments pour plus d'informations). `PHP` 4 supporte les deux : voir liste variable d'arguments de fonction et les fonctions de références que sont func_num_args(), func_get_arg(), et func_get_args() pour plus d'informations.

Précédent | Sommaire | Suivant
include_once() | Niveau supérieur | Les arguments de fonction