首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP ip2long函数不给出当前结果

PHP ip2long函数不给出当前结果
EN

Stack Overflow用户
提问于 2014-04-10 07:04:27
回答 1查看 144关注 0票数 0

以下代码在http://writecodeonline.com/php/上运行良好

但不幸的是,它无法在我的本地主机上提供当前输出。

$eip = '255.255.255.254';

回声$longeip = ip2long($eip);

输出应该像这个4294967294一样显示,但是它给出了2

对于enter code hereIP 1.0.0.1,我得到当前输出的16777217

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 07:07:40

这是因为ip2long()将返回整数值,它是签名的,所以可用的整数是[-1*2^31 .. 2^31-1]。因此,由于二进制表示,它将是-2

如果要使用无符号值,请使用

代码语言:javascript
复制
$longeip = sprintf('%u', ip2long($eip));

这里,%usprintf()指定“无符号整数”。请注意,在这种情况下,结果将是字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22980918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档