我尝试了解 intval() 的工作原理,其中一个示例是 intval(042) = 34。我知道默认基数是 10,那么为什么它返回 34 而不是 42。零在这个例子中扮演什么角色?
echo intval(042); //34
echo intval(42); //42
我尝试了解 intval() 的工作原理,其中一个示例是 intval(042) = 34。我知道默认基数是 10,那么为什么它返回 34 而不是 42。零在这个例子中扮演什么角色?
echo intval(042); //34
echo intval(42); //42
以 为前缀的数字0
被认为是八进制数(以 8 为基数)。0428 = 3410
事实上,这与intval
. 如果你只是写echo 042;
你会得到34
。
同样,您也可以用十六进制写数字。echo 0xff;
给255
.
而且,从 PHP 5.4 开始,您甚至可以用二进制写数字:echo 0b1001;
给9
.
因为数字前的 0 表示这个数字是八进制数,尝试将 42 从八进制转换为十进制,它会给你 34
我希望这对你有帮助,