1、前言
IP转换成整型存储是数据库优化一大趋势,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据。本文所指的IP是ip4,ip6暂不再讨论范围
2、ip4转化为整形
这里将介绍:
php自带函数 ip2long
php原生模拟ip2long的过程
2.1、ip2long
判断一个 ip4 地址是不是合法的 ip,符合则返回一个长整型,不符合返回 false
以下是测试:
然而当 ip4 值较大时,ip2long转化会出现负数的情况
2.2、php原生模拟ip2long的过程
php自带的ip2long虽然好用,由于返回值是int,所以会造成数据溢出,比如有些ip地址转换后变成负数,为了好看,还是需要自己模拟一个ip2long的过程,不多说,先上代码
function ipToInt($ip) {
$newHex= '';
$aIp