Soutenez-nous

FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireStructures de contrôleConditions

Les conditions se fondent sur le retour d'une valeur booléenne vrai (true), ou faux (false).

Il y a trois manières d'opérer : 1. l'opérateur ternaire ( ? : ) Il correspond à la structure if/else, et permet de faire un test simple. Syntaxe :

 
Sélectionnez
(condition) ? (instruction1) : (instruction2);

Exemple :

 
Sélectionnez
<?php
$a = 0;
$retour = ($a == 0) ? '$a est égal à zéro' : '$a est différent de zéro';
echo $retour;
>

Cela va afficher : $a est égal à zéro

2. la structure if/elseif/else Elle permet de traiter une (ou plusieurs) condition(s) supplémentaires. Note : le if seul est obligatoire. Syntaxe :

 
Sélectionnez
if (condition1) {
    instruction1 ;
} elseif (condition2) {
    instruction2 ;
} else {
    instruction3 ;
}

Exemple :

 
Sélectionnez
<?php
$a = 8;
$b = 9;
if (++$a == $b) {
    echo '++$a est égal à ' . $b ;
} elseif ($a++ == $b) {
    echo '$a++ est égal à ' . $b ;
} else {
    echo 'rien de tout ça !';
}
?>

(retourne : ++$a est égal à 9) Note : les structures if peuvent être imbriquées.

3. la structure switch/case Elle permet de traiter un nombre important de conditions. Dans cette structure, une expression sera successivement comparée à chacune des autres pour créer une condition. Après chaque test, il sera possible de sortir (break) du test, ou de poursuivre (continue). Enfin une instruction par defaut (default), optionnelle, peut être précisée pour le cas où aucune condition n'a été satisfaite. Syntaxe :

 
Sélectionnez
switch (expression) {
    case (valeur1) :instruction1 ;
        break ;
    case (valeur2) :instruction2 ;
        break ;
    default :instruction3 ;
}

Exemple :

 
Sélectionnez
<?php
switch ($auteur) {
    case ("Youri") :print "Hello Youri !";
        break;
    case ("Hachesse") :print "Hello Hachesse !";
        break;
    case ("Cyberzoide") :print "Hello Cyberzoide !";
        break;
    case ("Jérème") :print "Hello Jérème !";
        break;
    case ("Julp") :print "Hello Julp !";
        break;
    case ("Armatatuxa") :print "Hello Armatatuxa !";
        break;
    default :print "Hello !" ;
}
?>
Mis à jour le 6 août 2008  par Armatatuxa
 
Sélectionnez
var_dump(0 and 0 || 1); // FALSE : 0 and (0 || 1)
var_dump(0 && 0 || 1); // TRUE : (0 && 0) || 1

Donc "&&" est plus prioritaire que "and".

Créé le 9 novembre 2009  par Julp
 
Sélectionnez
var_dump(1 or 0 and 0); // TRUE : 1 or (0 and 0)
var_dump(1 || 0 and 0); // FALSE : (1 || 0) and 0

Donc "||" est plus prioritaire que "or".

Créé le 9 novembre 2009  par Julp
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.