Question sur les conditions ?

Eléphant du PHP | 169 Messages

13 sept. 2007, 14:20

Bonjour,

Par defaut php vas lire de haut en bas le code.
j'ai un doute sur le sens de lecture des conditions suivante.
//1er condition
if (....)

//2ème conditions
if (....)

//associé au 1er if
else{....}

//associé au 2ème if
else{....}
cela peut il se lire comme sa ?

ps: j'ai vraiment du mal a expliqué ! désolé
--
Kweb

Eléphant du PHP | 148 Messages

13 sept. 2007, 14:25

non,

c'est plutôt comme ça :
if
{
// 1er if
}
else
{

// else du 1er if
if 
{
//ton 2e if
}
else
{
// else du 2e if
}
}


voili ;)
Modifié en dernier par Zurg le 13 sept. 2007, 14:28, modifié 2 fois.
Et hop !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 sept. 2007, 14:25

A priori je dirais non. Un else correspond au if qui le précède immédiatement. Cela sera plus flagrant si tu délimite bien le contenu de ton if avec des accolades et que tu indentes convenablement ton code :
if (....) { //1er condition 

   if (....) {  //2ème conditions 
      ....
   }
   else { //associé au 2ème if
      ....
   } 

} 
else { //associé au 1er if
  ....
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
fab
ViPHP | 2657 Messages

13 sept. 2007, 14:50

Pour le fun sinon avec une synthaxe courte :)
<?php
echo ($a == $b) ? (($b == $c) ? 'echo deuxieme if' : 'echo else deuxieme if') : 'echo else premier if';
?>
Ainsi pour :
- $a = $b =$c on aura "echo deuxieme if" d'affiché
- $a = $b != $c on aura "echo else deuxieme if" d'affiché
- $a != $b on aura echo else premier if d'affiché

et on peut en rajouter et en rajouter :)

yahouuu :
echo ($a == $b) ? (($b == $c) ? (($c == $d) ? (($d == $e) ? (($e == $f) ? (($f == $g) ? 
'if 6' : (($a == $g) ? 'if else 6' : 'else else 6') : (($a == $f) ? 'if else 5' : 'else else 5') : 
(($a == $e) ? 'if else 4' : 'else else 4') : 'else 3') : 'echo else deuxieme if') : (($a == $c) ? 'if else 1' : 'else else 1';
Modifié en dernier par fab le 13 sept. 2007, 14:58, modifié 2 fois.
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 169 Messages

13 sept. 2007, 14:52

Ok, merci pour ses explication.
--
Kweb

Eléphanteau du PHP | 15 Messages

19 sept. 2007, 00:56

Il y a aussi :

if
elseif
else

Faut pas oublier le elseif
En route vers le plaisir...
http://www.i2g-france.com