In PHP you use the ===
notation to test for TRUE
or FALSE
distinct from 1
or 0
.
For example i
In Python,
The is
operator tests for identity (False is False
, 0 is not False
).
The ==
operator which tests for logical equality (and thus 0 == False
).
Technically neither of these is exactly equivalent to PHP's ===
, which compares logical equality and type - in Python, that'd be a == b and type(a) is type(b)
.
Some other differences between is
and ==
:
{} == {}
, but {} is not {}
(and the same holds true for lists and other mutable types)a = {}
, then a is a
(because in this case it's a reference to the same instance)"a"*255 is not "a"*255"
, but "a"*20 is "a"*20
in most implementations, due to how Python handles string interning. This behavior isn't guaranteed, though, and you probably shouldn't be using is
in this case. "a"*255 == "a"*255
and is almost always the right comparison to use.12345 is 12345
but 12345 is not 12345 + 1 - 1
in most implementations, similarly. You pretty much always want to use equality for these cases.