1. php的整型以0开头表示8进制,以0x开头表示16进制
$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
2. 如果8进制里面出现8,或者9,那么后面的将忽略。
var_dump(01090); // 010 octal = 8 decimal
3.如果超出了整型的范围,将会自动转换为浮点型
$large_number = 2147483648;
var_dump($large_number); // float(2147483648)
但是以下情况却很特殊,也就是说php的最小数是(PHP_INT_MAX * -1)-1
var_dump(-2147483648); //float(-2147483648)
var_dump(-2147483647 - 1); //int(-2147483648)
4.浮点数转换为整型时,只取整数部分。如果一个超出整型范围的浮点数转换为整型,将会返回一个不确定的数,也不会产生错误。
5.除了布尔,整型,浮点型之外的类型,如果转换为整型结果将是不确定的数。而且不会产生错误或警告提示
6. 下面的代码
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!