What doesn't this work:
(int)08 == (int)09==0
But this and this does?
(int)07==7
(int)06==6
What doesn't this work:
(int)08 == (int)09==0
But this and this does?
(int)07==7
(int)06==6
08 is in octal base (because it starts with a 0), hence it is invalid. See the documentation.
because 08
and 09
are not valid octal numbers. see warning in docs.
To use hexadecimal notation precede the number with 0x.
Therefore,
$num = (int)0x9
$num == 9
// Syntax error
//(int)08 == (int)09==0
// This works
(int)08==0;
(int)09==0;
// This also works
(int)08 == ((int)09==0);