gpt4 book ai didi

php - PHP 中的 ip2long() 是否等于 MySQL 中的 INET_ATON() 函数?

转载 作者:可可西里 更新时间:2023-11-01 06:56:24 24 4
gpt4 key购买 nike

如果我们有一个 ip 地址如下:

127.0.0.1

这两个函数将 ip 地址转换为相同的数字,还是它们不同并有不同的结果?

最佳答案

它们几乎完全一样。 ip2long 有时会返回一个负值,因为 PHP 使用有符号数进行计算,而 MySQL 使用无符号数。

两者都计算为 x*(2^24) + y*(2^16) + z*(2^8) + w*(2^0),但在 PHP 中,由于签名时间长,某些 IP 地址将显示负值。

For signed long, the range is 
(2^31) - 1 = −2,147,483,648 to +2,147,483,647

因此,地址在转换为超过 +2,147,483,647 时会回绕并给出负值。

ip2long("254.254.254.254"); // -16843010

link对此进行了详细描述。

关于php - PHP 中的 ip2long() 是否等于 MySQL 中的 INET_ATON() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com