ip2long出现负数的解决办法
发布于 分类 PHP
更新于 2016-08-30
27天前 有1个用户阅读过
解决办法:
<?php sprintf("%u\n", ip2long($ip));
出现负数原因及处理方法
当ip地址比较大时,ip2long会出现负数:
原因说明:
IPv4使用无符号32位地址,因此最多有2的32次方减1(4294967295)个地址。书写用4个小数点分开的10进制数。
记为A.B.C.D,例如:192.168.100.100。
IPv4地址每个10进制数都是无符号的字节,范围在0~255,将IPv4地址转为无符号数,其实就是将每个10进制数放在对应的8位上,组成一个4字节的无符号整型。192.168.100.100,192,168在高8位100,100在低8位。
其他解决办法和参考资料请查看下面的文档
-- The End --