• Guadeloupe - Saint Martin - Martinique - Guyane
    création de sites web, intranet, extranet  PHP, mySQL, Zope, Apache, Linux

IPEOS

Sections
Personal tools
You are here: Home » Support » Documentation » PHP » language.functions.html

language.functions.html

Document Actions
Les fonctions

Chapitre 17. Les fonctions

Les fonctions

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

Exemple 17-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 depuis PHP 4. SAUF lorsqu'une fonction est définie conditionnellement, comme montré dans les deux exemples suivants.

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 17-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 17-3. Fonctions dans une autre fonction

<?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). Les deux sont supportés, depuis PHP 4 : 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.

Il est possible d'appeler des fonctions récursives en PHP. Cependant, les appels de méthodes/fonctions récursives avec 100-200 degrés de récursion peuvent remplir la pile et ainsi, terminer le script courant.

Exemple 17-4. Fonctions récursives

<?php
function recursion($a)
{
    if (
$a < 20) {
        echo
"$a\n";
        
recursion($a + 1);
    }
}
?>

- Extranet

 

IPEOS - SARL au capital de 7500 € - RCS Pointe-à-Pitre 452 890 288 - Guadeloupe (French West Indies) - CNIL Dossier n° 1012327

IPEOS - Informatique Internet Guadeloupe Saint Martin Martinique Guyane Powered by Plone IPEOS utilise AlternC

This site conforms to the following standards: