我试着理解intval()是如何工作的,其中一个例子是intval(042)= 34.我知道默认基数是10,所以为什么它返回34而不是42.在这个例子中零点扮演什么角色?
echo intval(042); //34
echo intval(42); //42
Run Code Online (Sandbox Code Playgroud)
带前缀的数字0被认为是八进制数字(以8为底)。0428 = 3410
实际上,这与无关intval。如果你只是写echo 042;你就会得到34。
同样,您也可以用十六进制写数字。echo 0xff;给255。
而且,随着PHP 5.4的,你甚至可以写在二进制数:echo 0b1001;给9。