讨论数量:
php 函数 ip2long 返回值类型为 long 的原因是 php 整形变量只有 signed int, 无法声明为 unsigned int。而 ipv4 地址和 int (signed 或 unsigned int) 使用的字节长度一致,都是 4 字节 32 位。
因此使用 bigint (8字节64位) 存储 ip2long 是完完全全的浪费。只需要声明 mysql column 是 unsinged int,那么 php 读写数据库时,会自动处理为 signed long。这个效果和使用 mySql 函数 inet_aton 一致。
推荐文章: