mysql 存储ip

作者admin

9月 22, 2023

一个 int 型的数据

占 4 个字节,每个字节 8 位,其范围就是 0~(2^(4*8)-1) = 2^32-1 = 4294967295

有符号存储范围(-2147483648, 2147483647),无符号就是只存储正数其范围(0, 4294967295))

ipv4地址

可以分成4段,每段的范围是 0~255 ,最小长度7字符(0.0.0.1),最大长度15字符(255.255.255.255)

PHP中有内置函数ip2long可以将ip地址转换整型
$ip = ‘210.110.11.49’;
echo ip2long($ip);

// Output: -764540111

输出的整型有负号是因为我们得到的结果是有符号整型,有符号整型最大值2147483647,要把结果转换为无符号型可以这么写:

使用long2ip把整型转换回IP地址

$ip = ‘210.110.11.49’;
$ip_int = ip2long($ip);
echo $ip.”
“;
echo $ip_int.”
“;
echo long2ip($ip_int);

210.110.11.49
-764540111
210.110.11.49

系统函数小bug

$ip = ‘210.110.011.49’;
$ip_int = ip2long($ip);
echo $ip.”<br />”;
echo $ip_int.”<br />”;
echo long2ip($ip_int);

作者 admin

百度广告效果展示