Les Fonctions - PowerPoint PPT Presentation

About This Presentation
Title:

Les Fonctions

Description:

Bout de code que l'on peut ins rer comme s'il s'agissait de petit programme ... lui donner un nom : mot cl ' function ' suivi du nom que l'on veut ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 31
Provided by: Jess331
Category:

less

Transcript and Presenter's Notes

Title: Les Fonctions


1
Les Fonctions
2
Définir une fonction
  • Sections de code indépendantes que lon peut
    appeler à nimporte quel moment et dans nimporte
    quel ordre.
  • Bout de code que lon peut insérer comme sil
    sagissait de petit programme indépendant
  • Moins de code à écrire, moins à vérifier
  • Mieux penser la structure du programme
  • Définir une fonction 
  • lui donner un nom  mot clé  function  suivi du
    nom que lon veut donner à la fonction
  • les paramètres sont listés entre parenthèses
  • function nomfonction (paramètres)
  • Le code de la fonction est inséré ici.

3
Définir une fonction (suite)
  • La fonction peut contenir autant de ligne de code
    que lon souhaite
  • Pour renvoyer une valeur, placer  return  sur
    la dernière ligne de la fonction
  • ? montre que lon a fini et que la fonction
    sarrête là.
  • Pour afficher la valeur renvoyée par la fonction,
    on utilise linstruction  echo .  Return 
    naffiche pas la valeur, mais transmet le
    résultat à la fonction
  • Une fonction peut être appelée aussi souvent
    quon le souhaite.
  • Ex 
  • Prix 1600 
  • echo (reduction(Prix)) 
  • si on veut donner plusieurs paramètres à une
    fonction, les séparer par une virgule
  • Ex 
  • function reduction (Prix, Reduction)

Cf. Ex1
4
Ordre des éléments au sein dune fonction
  • La position de la définition de la fonction, de
    son exécution et de son appel peut varier.
  • Cependant, la fonction nest pas utilisée tant
    quelle nest pas appelée dans la dernière ligne
    avec  echo .
  • Ex

5
Noms des variables
  • On est pas obligé de donner aux variables hors de
    la fonction le même nom que celui des paramètres.
  • Ex 
  • Blabla 1600 
  • Lalala 500 
  • echo (reduction(blabla, Lalala)
  • function reduction (Prix, Reduction)
  • Prix Prix Reduction 
  • return Prix 
  • Dans ce cas-ci, la variable utilisée comme
    paramètre Prix prend la valeur de Blabla et la
    variable
  • Reduction, celle de la variable Lalala.

6
Autres applications ou méthodes
  • Hormis la méthode de transmission de valeur qui
    vient de vous être présentée, il existe également
    une
  • méthode qui permet de passer les arguments de
    fonctions par référence , mais nous ne la
    verrons
  • pas ici.

7
Structures de contrôle
8
Introduction
  • Les structures de contrôle (boucles) permettent
    deffectuer des tâches répétitives.
  • Cependant, ce ne sont pas des structures
    conditionnelles dans la mesure où elles peuvent
    être
  • exécutées indéfiniment.
  • Pour résumer en deux mots le fonctionnement dune
    boucle, nous dirons quelle fonctionne ainsi
  • Une condition est testée et le code de la boucle
    est exécuté, si la condition est satisfaite.
  • Ensuite, la condition est retestée et si elle est
    toujours  true , elle est re-exécutée.
  • Et ainsi de suite.
  • Chaque passage de la boucle est appelée une
    itération.
  • Il existe plusieurs types de boucles, chacun
    adapté à une situation différente. Nous allons
    les passer
  • en revue ici
  • La boucle while
  • La boucle do while
  • La boucle for
  • La boucle foreach (que nous verrons dans le
    chapitre des tableaux)

9
La boucle while
  • La boucle while est la plus simple des boucles.
  • Elle présente des ressemblances avec
    linstruction  if 
  • La boucle while vérifie le résultat dune
    condition. Selon que la condition est  true  ou
     false , la
  • portion de code placée entre accolades (après
    linstruction conditionnelle) est exécutée.
  • while (la condition est  true )
  • Exécuter le contenu des accolades
  • Une fois le contenu entre accolades exécuté, la
    condition située juste au dessus est revérifiée.
  • Dans le cas où cest à nouveau  true , le
    contenu de laccolade est ré-exécuté.
  • Dans le cas où la condition est  false , le
    code entre accolades est ignoré et lon passe
    directement à la première ligne de code qui suit
    les accolades.
  • Exemple sur les mensualités
  • (? compris)

10
La boucle do while
  • La boucle do while est environ similaire à la
    boucle  while  si ce nest que linstruction
    conditionnelle
  • est testée à la fin de la boucle et non au début.
  • Cela implique donc que le contenu des accolades
    sera appliqué au moins une fois, même si la
  • condition est  false 
  • Ex 
  • do
  • Exécuter le contenu des accolades
  • while (la condition est  true )  ? retourner
    et recommencer
  • ou
  • do
  • Exécuter le contenu des accolades
  • while (la condition est  false )  ? sortir de
    la boucle et passer à la ligne de code suivante

Cf. Ex while.php
11
La boucle for
  • La boucle for est idéale pour répéter une section
    de code un certain nombre de fois
  • Elle offre la possibilité de spécifier le nombre
    de fois que lon souhaite parcourir la boucle.
  • Cette boucle est plus complexe que la boucle
     while 
  • Ex 
  • for (définir le compteur de boucles  tester le
    compteur de boucles  ajouter ou soustraire au
    compteur)
  • exécuter le contenu des accolades
  • Le concept de compteur de boucles est introduit
    ici.
  • Ex 
  • for (compteur1  compteurlt10  compteur)
  • echo  Mon nom est Bob !  

Cf. Ex for.php
12
Structures de données
  • Arrays simples et indexés

13
Introduction
  • Les tableaux sont constitués de variables
    dindice qui, surtout si elles sont associées à
    une boucle,
  • peuvent être très efficace.
  • Un tableau est composé dune série de variables
    qui ont toutes le même nom
  • Chacune de ces variables ayant un indice
    différent
  • Chaque constituant dun tableau est appelé
     élément 
  • On peut créer des tableaux de la même façon quon
    crée des variables, tant que lon oublie pas de
    mettre des crochets pour signaler lindice.
  • Ex 
  • PaysEurope1  France  
  • PaysEurope2  Espagne  
  • Lordre des n nest pas important et lon peut
    même utiliser des caractères
  • Ex 
  • PaysEurope F   France  

14
Initialisation
  • Linitialisation est la définition des valeurs
    initiales des variables des tableaux
  • Pays France 
  • Pays  Suisse 
  • Sans les crochets, la valeur de la première
    variable serait automatiquement remplacée par la
    seconde dans la suite du programme.
  • Labsence de valeur dindice fait que PHP va
    décider lui-même de stocker les valeurs dans
    Pays0 et Pays1.
  • Pas besoin de prédéfinir les types de données du
    tableau en indiquant sil sagit de données
    textuelles ou numériques.
  • Pas besoin de spécifier la taille du tableau
    avant de le créer

15
La construction array
  • Pays array ( France ,  Espagne ,
     Suisse ) 
  • PHP génère automatiquement les valeurs dindice.
    Elles commencent à zéro. Les nouvelles valeurs
  • sont insérées dans un élément vide avec la
    valeur dindice la plus petite.
  • Ex 
  • echo Pays2  ? afficherait  Suisse 
  • Ex
  • PaysEurope array (1 gt " France ", " Espagne
    ", " Suisse ", "Hollande", "Belgique",
    "Portugal",
  • "Angleterre", "Danemark", "Allemagne", "Italie")

Cf. Ex pays.php
16
Les itérations dans un tableau
  • Les boucles sont utilisées dans les tableaux,
    afin déviter un travail laborieux qui
    consisterait à
  • récupérer individuellement chaque élément du
    tableau afin de lafficher par exemple.
  • La boucle for
  • Exemple afficher tous les pays recensés dans
    notre tableau 
  • for (compteur1  compteurlt11  compteur)
  • echo  ltBRgtPayscompteur  
  • ? Commencer à 1 et aller jusquà 10, en
    augmentant à chaque fois le compteur de 1. Cela
    donnerait
  • echo  ltBRgtPays1  
  • echo  ltBRgtPays2  
  • echo  ltBRgtPays3  
  • echo  ltBRgtPays4  
  • echo  ltBRgtPays5  

Cf. Ex pays.php
17
Les itérations dans un tableau (suite)
  • Les boucles while ou do while
  • Ces boucles nous obligent à définir un compteur
    nous-mêmes
  • compteur1
  • while (compteurlt11)
  • echo  ltBRgtPayscompteur  
  • compteurcompteur1 
  • Le résultat sera semblable à lexemple précédent.

Cf. Ex pays_while.php
18
La boucle foreach
  • Cette boucle est utilisée lorsque nous avons un
    tableau avec un nombre déléments inconnu.
  • Elle effectue des itérations jusquà la fin du
    tableau
  • Pour chaque élément du tableau, on effectue une
    itération à travers la boucle foreach.
  • foreach (PaysEurope As IndicePays gt Pays)
  • echo "ltBRgtIndicePays - Pays "
  • EtatsUnis nom du tableau
  • IndiceEtat nom de variables que lon crée
    nous-mêmes qui contient les valeurs dindice.
  • Etat nom de variables que lon crée nous-mêmes
    qui contient lélément correspondant
  • Lavantage de cette boucle est que nous navons
    pas besoin deffectuer le décompte du nombre
  • déléments du tableau, puisquelle la découvre
    toute seule.

Cf. Ex foreach.php
19
Exemple
  • Exemple sur le programme
  • Attention  comme cest PHP qui a rempli le
    tableau. Les éléments sont donc stockés de 0 à 9.
  • Les tableaux PaysMasque et CapitalesPays ont à
    présent des indices correspondants.
  • Une boucle va nous permettre daller de lindice
    0 à 9.
  • for (compteur0 compteurlt50 compteur)
  • if( PaysMasquecompteurPays
  • echo  La capitale de ce pays dEurope est
    CapitalesPayscompteur  
  • En gros, pour résumer  si PaysMasque au Pays
    sélectionné par lutilisateur, la valeur dindice
    peut être récupérée pour récupérer la capitale
    correspondant dans CapitalesPays.
  • Si ce nest pas le cas, la boucle  for 
    poursuit ses itérations jusquà ce quil y ait
    correspondance.

20
Les tableaux non-séquentiels
  • Fonctions current() et key()
  • Ces fonctions sont des pointeurs pour conserver
    la trace dun élément donné lors des déplacements
  • dans un tableau.
  • La fonction current() permet de voir quel élément
    est en train dêtre utilisé par PHP
  • La fonction key() permet de rechercher la valeur
    dindice affectée à lélément ? key est synonyme
  • d indice  ici.
  • Ex 
  • ValeurIndiceCourant key(Realisateur) 
  • echo (ValeurIndiceCourant) 
  • ?renvoie la valeur dindice du 1er élément placé
    dans le tableau
  • ContenuCourant current(Realisateur) 
  • echo (ContenuCourant) 

21
Les tableaux non-séquentiels (suite)
  • Fonctions next() et prev()
  • Ces deux fonctions permettent de naviguer au sein
    des tableaux, ainsi que de trouver la valeur dun
  • nouvel élément ajouté au tableau.
  • Ex 
  • Pour résumer
  • Pour naviguer dans le tableau, nous utilisons les
    fonctions next() et prev()
  • Pour afficher la position courrante, les
    fonctions current() et key()

22
Les tableaux non-séquentiels (suite)
  • Fonctions list() et each() itération
  • Les fonctions list() et each() permettent de
    renvoyer uniquement les éléments du tableau
    contenant
  • des données, au lieu de passer des données vides
    qui peuvent être nombreuses.
  • Exemple
  • La fonction list() renvoie dabord la valeur de
    lindice, puis le contenu de lélément.
  • Et each() ??

23
Array functions
  • Pour découvrir les array fonctions, cf.
    http//tecfa.unige.ch/guides/php/php5_fr/ref.array
    .html
  • Trier les tableaux
  • Il y a plusieurs fonctions de tri de tableau.
    Passons-en en revue cinq ici.
  • Fonction sort()
  • Fonction qui trie les éléments dun tableau par
    ordre alphabétique 
  • sort(NomTableau)
  • Fonction asort()
  • Fonction qui trie les éléments dun tableau par
    ordre alphabétique, mais en conservant les
    indices de
  • chaîne 
  • asort(NomTableau)

24
Exemples darray functions (suite)
  • Fonctions array_push() et array_pop()
  • Permettent dajouter ou de supprimer un élément à
    un tableau 
  • Ex 
  • a)
  • array_push(Pays,  Italie ,  Suède )  ?
    ajoute ces deux pays
  • b)
  • Pays 2  Suisse  
  • Pays 1  France  
  • Pays 8  Espagne  
  • Pays 10  Angletterre  
  • array_pop(Pays) 
  • ? supprime le dernier élément ajouté au
    tableau (ici  Angleterre ). Mais cette
    fonction ne supprime quun élément à la fois.
  • Fonctions Implode et Explode
  • Fonctions qui permettent de stocker tout le
    contenu dun tableau en tant que chaîne ou
    linverse.
  • Implode concatène les éléments dun tableau et
    crée une chaîne séparée par un délimiteur.

25
Les tableaux multidimensionnels
  • Nous nen parlerons pas ici.
  • Les tableaux multidimentionnels sont des tableaux
    de tableau.
  • Ex
  • NomTableau array (indice gt array (Contenu du
    tableau))
  • Ex  annuaire téléphonique
  • Lindice serait  Jessica Claude  et le contenu
    ( 10 ch. Rieu , 022/----- )

26
La portée des variables
  • Les variables locales et globales

27
Variables locales vs globales
  • Les variables à lintérieur dune fonction ont
    une portée locale. Elle nexistent quà
  • lintérieur même dune fonction et donc
    uniquement pour la durée dappel de cette
  • fonction.
  • Les variables dont la durée de vie correspond à
    la durée de vie dune page ont une
  • portée globale.
  • Illustration
  • ltphp?
  • MessageBienvenue  Hello world  
    ? VARIABLE GLOBALE
  • Function traduire_message ( MessageBienvenue)
  • MessageFrançais  Bonjour à tout le
    monde  ? VARIABLE LOCALE
  • return MessageBienvenue
  • traduire_message ()
  • echo MessageBienvenue
  • echo MessageFrançais

28
(No Transcript)
29
Lexercice
30
Consignes
  • Reprenez votre exercice STAF 14 de lannée passée
    et reproduisez-le à laide darray, de
  • boucles et de fonctions, comme nous venons de le
    voir.
Write a Comment
User Comments (0)
About PowerShow.com