标签: php type-conversion
我想在数据库中存储整数值,并且对于$ im使用(int)类型转换$ _POST值。但它评估另一个值而不是提交的整数。
echo (int)0444444;
输出
149796
请帮忙。
答案 0 :(得分:7)
使用0前缀一个整数意味着它应该被解释为八进制值,即基数为8而不是基数为10.
0
0444444 (OCT) = 149796 (DEC)
如果要将字符串转换为整数而不是强制转换,可以使用intval(),这可以选择允许您指定基数10。
intval()
你的例子中的强制转换是从int到int的强制转换(0444444已被解释为整数),因此你的强制转换是无操作。
答案 1 :(得分:3)
根据其他答案,0前缀会导致PHP将该值解释为八进制。
intval功能可能正是您所需要的。
intval
答案 2 :(得分:2)
前导0的值被视为八进制值。