On Monday 05 February 2018 16:12:08 Odile Bénassy wrote: > Le 05/02/2018 à 15:05, andre_deb...@numericable.fr a écrit : > > Ça marche sans problème avec les fonction ET et OU. > > Je n'arrive pas à afficher la valeur d'un ou exclusif, xor, en php. > > $val1 et $val2 viennent d'un formulaire et s'affichent bien : > > print ("$val1 $val2"); > > echo $val1 ^ $val2 (rien ne s'affiche). > > Si j'écris : > > $val1=12; $val2=9; > > echo $val1 ^ $val2 (affiche la valeur 5).
> peut-être parce que ce sont des chaînes de caractères et pas des nombres ? > c'est un ou exclusif bit à bit : > a = 12 = 8+4+0+0 > b = 9 = 8+0+0+1 > donc le 8 étant défini dans les deux je l'enlève, il reste le 4 qui > n'existe que dans a, et le 1 qui n'existe que dans b, ce qui fait 5 au total > utiliser l'opérateur logique 'xor' (pas l'opérateur bit à bit '^') Merci. Effectivement ça devrait afficher 5 J'ai essayé "^" et "xor", pas de résultat. En introduisant les nombres en hexa : 9 = 1001 , 12= C= 1100 1001 ^ 1100 Résultat : 9 C = Z 1001 xor 1100 Résultat : 9 C = 9