|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour à tous !
Voilà, j'ai un problème étrange : je chercher à faire quelque chose comme ça $i = true; $j = false; $i &= $j; le probleme, c'est que le résultat, qui devrait etre un booleen, devien un integer, alor que quand je fait ça : $i = $i && $j; le resultat reste bien en booleen... Quelqu'un à une idée d'ou peut provenir le problème ? Merci d'avance ! |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Thief13 a écrit :
> Voilà, j'ai un problème étrange : je chercher à faire quelque chose comme ça > $i = true; > $j = false; > $i &= $j; L'assignation combinée n'est pas disponible pour tous les opérateurs, et notamment n'existe pas pour les opérateurs logiques && et ||. D'ailleurs, si elle existait, il faudrait coder &&= et non &=. Le code &= correspond à l'opérateur & (ET binaire qui renvoit un nombre binaire et non un booléen). a+ -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/ |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 26 Jul 2007 14:47:47 GMT, Thief13 <Thief13@nospam.com> écrivait
dans fr.comp.lang.php: >Bonjour à tous ! > >Voilà, j'ai un problème étrange : je chercher à faire quelque chose comme ça > >$i = true; >$j = false; > >$i &= $j; Plutôt &&= >le probleme, c'est que le résultat, qui devrait etre un booleen, devien >un integer, alor que quand je fait ça : > >$i = $i && $j; > >le resultat reste bien en booleen... > >Quelqu'un à une idée d'ou peut provenir le problème ? mauvaise syntaxe Denis |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 26/07/2007 16:47, Thief13 a écrit :
> > Voilà, j'ai un problème étrange : je chercher à faire quelque chose comme ça > > $i = true; > $j = false; > > $i &= $j; Ok. > le probleme, c'est que le résultat, qui devrait etre un booleen, devien > un integer, Ben non, c'est normal. Contrairement à l'opérateur && (et &&= s'il existe) qui donne un booléen, l'opérateur & (et &=) donne un entier. > alor que quand je fait ça : > > $i = $i && $j; > > le resultat reste bien en booleen... Oui, bien sûr. Si jamais ça existe : $i &&= $j; > Quelqu'un à une idée d'ou peut provenir le problème ? |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 26/07/2007 18:43, Olivier Miakinen a écrit :
>> >> $i = $i && $j; > > Si jamais ça existe : > $i &&= $j; Comme l'a signalé P'tit Marcel, cet opérateur n'existe pas. Il y a d'autres façons de faire, par exemple : - $i = $i ? $j : false; - if ($i) $i = $j; - $i &= $j; settype($i, "boolean"); - $i &= $j; $i = (bool) $i; Mais la meilleure est sans conteste : - $i = $i && $j; |
|
|
|
#6 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour à tous,
----------- Olivier Miakinen a écrit http://groups.google.com/group/fr.co...ea6f6046025eff ------------------- Il y a d'autres façons de faire, par exemple : - $i = $i ? $j : false; - if ($i) $i = $j; - $i &= $j; settype($i, "boolean"); - $i &= $j; $i = (bool) $i; Mais la meilleure est sans conteste : - $i = $i && $j; --------------- $i =1; $j =2 - $i &= $j; settype($i, "boolean"); 0001 0010 ----- 0000 C'est ti ça? Amicalement Jean Pierre Daviau -- windows Xp asus p4 s533/333/133 Intel(R) Celeron (R) CPU 2.00 GHz Processor Radeon7000 0x5159 agp |
|
![]() |
| Outils de la discussion | |
|
|