OVH Cloud OVH Cloud

operateur !=

4 réponses
Avatar
Vincent Pottier
Bonjour,
La doc php dont je dispose mentionne les opérateurs de comparaison
suivants :
== (égal)
=== (identique)
!= (différent)
<> (différent)

j'ai testé l'opérateur !== avec l'expression :
0 !== false
qui me renvoie 1
ce qui signifierait 0 est d'un type ou d'une valeur diffiérent de false
Cela semble cohérent mais ce n'est pas documenté.
Est-ce fiable ?

4 réponses

Avatar
Guillaume Brocker
Vincent Pottier wrote:
Bonjour,
La doc php dont je dispose mentionne les opérateurs de comparaison
suivants :
== (égal)
=== (identique)
!= (différent)
<> (différent)

j'ai testé l'opérateur !== avec l'expression :
0 !== false
qui me renvoie 1
ce qui signifierait 0 est d'un type ou d'une valeur diffiérent de false
Cela semble cohérent mais ce n'est pas documenté.
Est-ce fiable ?


Oui, c'est fiable. 0 est un entier alors que false est un booléen. Ils
ne sont donc pas du même type. "0 !== false" doit donc bien retourner
vrai, même si la représentation en mémoire est identique.

--
Guillaume Brocker

Avatar
CrazyCat
Vincent Pottier wrote:
j'ai testé l'opérateur !== avec l'expression :
0 !== false
qui me renvoie 1


Il me semble que l'opérateur triple (!== ou ===) est un opérateur de
comparaison de type.
Donc, comme 0 n'est pas du même type que false, cela te renvoit 1.


--
Tout sur les eggdrops
http://www.c-p-f.org
ML @

Avatar
Olivier Miakinen

j'ai testé l'opérateur !== avec l'expression :
0 !== false
qui me renvoie 1
ce qui signifierait 0 est d'un type ou d'une valeur diffiérent de false
Cela semble cohérent mais ce n'est pas documenté.


http://fr2.php.net/manual/fr/print/language.types.php

<cit.>
PHP supporte quatre types scalaires :
* booléen
* entier
* nombre à virgule flottante
* chaîne de caractères
</cit.>

Le type booléen est clairement défini comme différent du type entier.

Avatar
Demi Cerveau
peut etre false est de type different alors il renvoie pas identique à cause
du test de type?

HB[parce qu'il ne reflechit qu'à moitié]

"Vincent Pottier" a écrit dans le message de
news:
Bonjour,
La doc php dont je dispose mentionne les opérateurs de comparaison
suivants :
== (égal)
=== (identique)
!= (différent)
<> (différent)

j'ai testé l'opérateur !== avec l'expression :
0 !== false
qui me renvoie 1
ce qui signifierait 0 est d'un type ou d'une valeur diffiérent de false
Cela semble cohérent mais ce n'est pas documenté.
Est-ce fiable ?