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

前端之家收集整理的这篇文章主要介绍了PHP中的ip2long()是否等于MySQL中的INET_ATON()函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果我们有一个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,647

因此,转换为超过2,647的地址将回滚并给出负值.

ip2long("254.254.254.254"); // -16843010

link详细描述了这一点.

原文链接:https://www.f2er.com/mysql/433891.html

猜你在找的MySQL相关文章