Académique Documents
Professionnel Documents
Culture Documents
Structures de
Contrôle
---------------
Les instructions conditionnelles
• L'instruction if
if (condition réalisée) { liste d'instructions }
• L'instruction if ... Else
if (condition réalisée) {liste d'instructions}
else { autre série d'instructions }
• L'instruction if ... elseif ... else
if (condition réalisée) {liste d'instructions}
elseif (autre condition ) {autre série d'instructions }
else { série d'instructions }
• Opérateur ternaire
(condition) ? instruction si vrai : instruction si faux
Les instructions conditionnelles
<?php
if ($a > $b)
echo "a est plus grand que b";
/* exemple 2 */
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>
Les instructions conditionnelles
• La boucle for
for ($i=1; $i<6; $i++) { echo "$i<br>"; }
• La boucle while
while(condition) {bloc d’instructions ;}
while (condition) :Instruction1 ;Instruction2 ;
…. endwhile ;
• La boucle do…while
do {bloc d’instructions ;}while(condition);
• La boucle foreach
Foreach ($tableau as $valeur) {
instructions utilisant $valeur; }
Les instructions conditionnelles
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr vaut maintenant array(2, 4, 6, 8)
unset($value); // Détruit la référence sur le dernier
// élément
?>
Les instructions conditionnelles
<?php
$fruit = "pomme";;
switch ($fruit) {
case "pomme" : echo "C'est une pomme."; break;
case "banane" : echo "C'est une banane."; break;
case "orange" : echo "C'est une orange."; break;
default : echo "Fruit inconnu."; }
}
$result = match ($fruit) {
"pomme" => "C'est une pomme.",
"banane" => "C'est une banane.",
"orange" => "C'est une orange.",
default => "Fruit inconnu.",
};
echo $result;
?>
goto
• L'opérateur goto peut être utilisé pour continuer l'exécution du
script à un autre point du programme.
• La cible est spécifiée par un label, suivi de deux-points, et
l'instruction goto est ensuite suivie de ce label.
• L'étiquette cible doit être dans le même contexte et fichier.
<?php
goto a;
echo 'salut’;
a:
echo 'tout le monde';
?>
continue
• L'instruction continue est utilisée dans une boucle afin d'éluder
les instructions de l'itération courante et de continuer
l'exécution à la condition de l'évaluation et donc, de
commencer la prochaine itération.
• Admet un paramètre numérique pour le nombre d’itérations à
ignorer.
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue ;
print "$i\n";
}
?>
break
• L'instruction break permet de sortir d'une structure for, foreach,
while, do-while ou switch.
• break accepte un argument numérique optionnel qui vous
indiquera combien de structures emboîtées doivent être
interrompues.
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
break;
print "$i\n";
}
?>
---------------
Fonctions
---------------
Fonctions
• Une fonction peut être définie en utilisant la syntaxe suivante :
Function nom_fonction($arg1, $arg2, …$argn){
// déclaration des variables ;
// bloc d’instructions ;
//fin du corps de la fonction
return $resultat ; }
Fonctions
• Une fonction peut être définie en utilisant la syntaxe suivante :
Function nom_fonction($arg1, $arg2, …$argn){
// déclaration des variables ;
// bloc d’instructions ;
//fin du corps de la fonction
return $resultat ; }
• func_num_args() : fournit le nombre d’arguments qui ont été
passés lors de l’appel de la fonction.
• func_get_arg($i) : retourne la valeur de la variable située à la
position $i dans la liste des arguments passés en paramètres, à
partir de l’indice 0.
Fonctions
• Une fonction avec un nombre inconnu de paramètres :
<?php
function produit() {
$nbarg = func_num_args() ;
$prod=1;
// la fonction produit a ici $nbarg arguments
for ($i=0 ; $i <$nbarg ; $i++) {
$prod *= func_get_arg($i);
}
return $prod;
}
echo "le produit est: ", produit(10, 5, 9), "<br />" ;
?>
Fonctions
• Passage des paramètres d’une fonction par référence :
<?php
function dire_texte($qui, &$texte){
$texte = "Bienvenue $qui";
}
$chaine = "Bonjour ";
echo $chaine;
dire_texte(" invité",$chaine);
echo $chaine;
?>
Fonctions
• Passage des paramètres d’une fonction par référence :
<?php
function dire_texte($qui, &$texte){
$texte = "Bienvenue $qui";
}
$chaine = "Bonjour ";
echo $chaine;
dire_texte(" invité",$chaine);
echo $chaine;
?>
<?php
function nomFonction( … ) : ?typeRetour
{ ... }
?>
Fonctions anonymes
• Également connues sous le nom de closures, sont créées en
utilisant le mot-clé function sans nom pour la fonction.
• Souvent utilisées pour définir des fonctions de rappel (callbacks)
ou pour encapsuler une logique à un endroit précis du code.
<?php
$maFonction = function () {
echo "Ceci est une fonction anonyme.";
};
// Appel de la fonction anonyme
$maFonction();
?>
Fonctions anonymes
• Également connues sous le nom de closures, sont créées en
utilisant le mot-clé function sans nom pour la fonction.
• Souvent utilisées pour définir des fonctions de rappel (callbacks)
ou pour encapsuler une logique à un endroit précis du code.
<?php
$addition = function ( $a , $b) {
return $a+$b;
};
// Appel de la fonction anonyme
$addition( 2, 5);
?>
Fonctions anonymes
• Les fonctions anonymes peuvent capturer des variables de leur
portée environnante (portée lexique) pour les utiliser à
l'intérieur de la fonction. Cela est utile pour créer des
fermetures (closures).
<?php
$x = 10;
$maClosure = function ($y) use ($x) {
return $x + $y;
};
$resultat = $maClosure(5);
?>
Fonctions anonymes
• Les fonctions anonymes sont souvent utilisées comme rappels
(callback) pour des fonctions qui acceptent des fonctions de
rappel:
<?php
$x = [1, 2, 3, 4, 5];
$carres = array_map(
function ($nombre) {
return $nombre * $nombre;
}
, $nombres);
?>
Fonctions anonymes
• Les fonctions anonymes peuvent être stockées dans des
tableaux ou des variables :
<?php
$operations = [
‘addition’ => function ($a, $b) { return $a + $b; },
‘difference’ => function ($a, $b){ return $a - $b;}
];