- Plan du Site | Contact

Définition

Une fonction se définit à l'aide du mot-clé function, d'un identifiant valide, et de parenthèses '()'.

 

  • Toute instruction PHP valide peut être contenue à l'intérieur du bloc délimité par les accolades '{}' :

 

<?php

function bateau() {

echo "fonction remplie !";

}

bateau(); // appel de fonction

?>

 

retourne : fonction remplie !

 

  • Les parenthèses peuvent renfermer un ou plusieurs arguments :

 

<?php

function mult($i, $j) { // $i et $j sont des variables locales

return $i*$j; /* multiplie les valeurs des deux arguments

et retourne le résultat */

}

?>

 

  • L'instruction return est utilisé soit pour retourner une valeur (ou une variable), soit pour interrompre le déroulement d'une fonction avec une valeur de retour (comme son homonyme en C).

 

Pour implémenter cette fonction, passons-lui deux variables en argument :

 

<?php

$a = 5;

$b = 6;

$c = mult($a, $b); /* assignation de la valeur de retour

d'une fonction à une variable */

?>

 

valeur de $c : 30

 

To top

Passage d'Arguments

Une variable déclarée à l'intérieur d'une fonction n'a aucune valeur à l'extérieur (portée locale) :

 

<?php

$a=5;

function compteur_non_fonctionnel($i) {

$i++;

}

compteur_non_fonctionnel($a);

?>

 

valeur de $a : 5

 

L'opérateur d'adresse '&' permet à une variable locale de pointer sur l'adresse d'une globale :

 

<?php

function compteur_fonctionnel(&$i) {

/* $i pointe désormais sur l'adresse de la variable passée en argument

lors de l'appel de fonction */

$i++;

}

compteur_fonctionnel($a);

?>

 

valeur de $a : 6

 

To top

$_GLOBALS

Une variable déclarée à l'extérieur d'une fonction (portée globale) n'a pas cours à l'intérieur de celle-ci.

 

Si l'on doit faire appel à une globale à l'intérieur d'une fonction, il faut la faire précéder du mot réservé global :

 

<?php

function nouveau_compteur () {

global $a;

$a++;

}

nouveau_compteur();

?>

 

valeur de $a : 7

 

La variable prédéfinie $_GLOBALS est un tableau associatif dont les champs contiennent les globales déclarées dans le script :

 

<?php

function autre_compteur () {

$_GLOBALS['a']++;

}

autre_compteur();

?>

 

valeur de $a : 8

 

To top

require()

La fonction require() appelle et exécute un code contenu dans un fichier externe.

 

Soit un fichier "phrase.inc" situé dans le même dossier que le présent fichier :

 

le mot du jour :

<?php require("phrase.inc"); ?>

 

retourne :

le mot du jour :

Il vaut mieux qu'il pleuve un jour comme aujourd'hui qu'un jour où il fait beau !

 

L'extension .inc est par convention utilisée pour désigner un fichier de bibliothèque.

 

To top

include()

La fonction include() est similaire à require(), à ceci près qu'avec include() le traitement ne s'interrompra pas en cas d'erreur, et le reste de la page s'affichera normalement.

 

Voici le code d'un test idiot, appelant conditionnellement un fichier de bibliothèque ou un autre, selon l'indice criminogène de votre navigateur :

 

<?php

if (ereg ("MSIE", $HTTP_USER_AGENT)) {

include ('IE.inc');

} else {

include ('NOT.inc');

}

?>

 

La fonction ereg() recherche (et renvoie TRUE si elle trouve) la chaîne 'MSIE' dans la chaîne retournée par $HTTP_USER_AGENT.

 

To top

Informations
6-03-2013
Le site www.laboratoire-ambio.fr vient d'être certifié HONcode.
5-12-2012
Dans le cadre de la procédure de Labellisation auprès des collectivités membres du Syndicat Mixte...
28-03-2012
Toute nouvelle section sur notre site pour vous présenter une nouvelle rubrique qui sera entièreme...
22-08-2009
Un cluster Single System Image (SSI) comme Kerrighed offre la vue d'une unique machine multi-process...
21-08-2009
Grâce aux efforts continus de la communauté open source, Heartbeat2 permet de mettre en place des ...
17-10-2008
Sortie le 13 Oct 2008 et compatible avec Office 2007 de Microsoft la nouvelle mouture de OpenOffice...
29-05-2008
... Et profitez d'un Web meilleur : Mozilla tente d'établir un record du nombre de logiciels télÃ...
29-08-2007
Plusieurs extensions permettent d'intégrer les éléments de cette API mise à disposition par Goog...
Services | Solutions | Formations | Portfolio | Accès Client
© 2004-2015 ACCEDO - Siret : 452 155 112 00033
105, Impasse La Corbière - 50400 GRANVILLE
Tél : 06 83 88 31 78