php ip2long bug,PHP代码ip2long 循环有关问题

PHP代码ip2long 循环问题

print_r($dataIp);

foreach ($dataIp as $key=>$value) {

$data['ip']     =   $value;

$data['iplong']     =   bindec(decbin(ip2long($value)));

print_r($data);

}

打印出来的结果为:

引用Array

(

[0] => 208.104.70.215

[1] => 74.101.176.171

[2] => 73.17.35.30

[3] => 70.198.197.3

[4] => 46.44.179.76

)

====

Array

(

[ip] => 208.104.70.215

[iplong] => 0

)

Array

(

[ip] => 74.101.176.171

[iplong] => 0

)

Array

(

[ip] => 73.17.35.30

[iplong] => 0

)

Array

(

[ip] => 70.198.197.3

[iplong] => 0

)

Array

(

[ip] => 46.44.179.76

[iplong] => 774681420

)

只有最后一个转换成功了,其他的都失败了,这是什么原因?

------解决思路----------------------

没有问题Array

(

[ip] => 208.104.70.215

[iplong] => 3496494807

)

Array

(

[ip] => 74.101.176.171

[iplong] => 1248178347

)

Array

(

[ip] => 73.17.35.30

[iplong] => 1225859870

)

Array

(

[ip] => 70.198.197.3

[iplong] => 1187431683

)

Array

(

[ip] => 46.44.179.76

[iplong] => 774681420

)

但不知你想干什么

------解决思路----------------------

$dataIp = array('208.104.70.215', '74.101.176.171', '73.17.35.30', '70.198.197.3', '46.44.179.76');

foreach ($dataIp as $key=>$value) {

$data['ip']     =   $value;

$data['iplong']     =   bindec(decbin(ip2long($value)));

print_r($data);

}

输出

Array

(

[ip] => 208.104.70.215

[iplong] => 3496494807

)

Array

(

[ip] => 74.101.176.171

[iplong] => 1248178347

)

Array

(

[ip] => 73.17.35.30

[iplong] => 1225859870

)

Array

(

[ip] => 70.198.197.3

[iplong] => 1187431683

)

Array

(

[ip] => 46.44.179.76

[iplong] => 774681420

)

也是正常的

------解决思路----------------------

測試過,正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值