【发布时间】:2009-12-07 13:39:15
【问题描述】:
这不起作用:
(int)08 == (int)09==0
但是这个和这个呢?
(int)07==7
(int)06==6
【问题讨论】:
-
我实际上会尝试让您的问题更具话题性,然后将您的示例放在问题中......
-
我尝试过。
这不起作用:
(int)08 == (int)09==0
但是这个和这个呢?
(int)07==7
(int)06==6
【问题讨论】:
08 是八进制的(因为它以 0 开头),因此它是无效的。 See the documentation.
【讨论】:
因为08 和09 不是有效的八进制数。 see warning in docs.
【讨论】:
您正在输入一个无效的八进制数。
【讨论】:
// Syntax error
//(int)08 == (int)09==0
// This works
(int)08==0;
(int)09==0;
// This also works
(int)08 == ((int)09==0);
【讨论】:
您正在使用 (int) 进行显式类型转换
更好地使用intval().
【讨论】:
要使用十六进制表示法,在数字前加上 0x。
因此,
$num = (int)0x9
$num == 9
【讨论】: