| Accueil | table PHP | index PHP | précédent | suivant |

Les fonctions

Les fonctions permettent d'exécuter des opérations répétitives sur des données qui leur sont fournies comme arguments. Elles prennent la forme :

function maFonction([$argument] [, &$argument] [, $argument], ...)
{
[global $var [, $var] .... ]

// instructions PHP

}


Les arguments peuvent être absents ou en nombre quelconque. Ils sont normalement passés par valeur et sont recopiés dans la fonction pour étre utilisés par elle mais ne sont pas modifiés. Un argument précédé du signe & est dit passé par référence et pourra alors être modifié par la fonction. Les fonctions n'ont pas accès aux variables du script qui leur sont extérieures sauf à celles dont la liste figure dans une déclaration global placée au début du corps de la fonction.

Les fonctions peuvent retourner un résultat par l'instruction facultative return expression; qui termine l'exécution.

La fonction sera appelée dans un programme PHP en lui passant ses arguments :

<?php

// instructions PHP

// appel d'une fonction qui modifie un argument
maFonction(expression1, &$valeur_à_modifier, expression2);

// appel d'une fonction
// avec retour du résultat par return
$résultat=monAutreFonction(expression);
// suite des instructions PHP

?>


L'utilisateur peut définir ses propres fonctions ou utiliser les très nombreuses fonctions de la bibliothèque PHP. Voici un exemple de fonction définie par l'utilisateur qui modifie un argument, une variable déclarée globale et retourne une valeur :


<!--script010 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Titre de cette page : script010</title>
<meta name="description" content="Phrase décrivant clairement cette page" />
<meta name="keywords" content="mot1 mot2, mot3 mot4 mot5, mot6" />
<link rel="stylesheet" type="text/css" href="PHPStyle008.css" />
</head>

<body>

<div id="conteneur">
Prenons les valeurs suivantes : <br/>$A=18 <br/>$B=7.25 <br/>$C=32<br/><br/>

<?php

function increment($nom, &$var)
{
global $C; // variable externe à la fonction
$var++;
$C++;
return "Augmentons $nom d'une unité";
}

$A=18;
$B=7.25;
$C=32;

echo increment("\$A", $A);
echo "<br/>";
echo increment("\$B", $B);
echo "<br/><br/>";
?>

Après ces deux appels à la fonction :<br/><br/>
$A=<?php echo $A; ?><br/>
$B=<?php echo $B; ?><br/>
$C=<?php echo $C; ?> ($C a été incrémenté deux fois)

</div>

</body
</html>


Exécuter ce script




suivant