PHP代码ip2long 循环问题 phpip2long foreach 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有问题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)但不知你想干什么 <?php$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)也是正常的 如果你把 print_r($data); 放到循环外面的话,就只有最后一个了 我的完整代码是这样的$dataIp= explode("\n", $_POST['ip']); if(empty($dataIp)){ $this->error('未填写IP!');}//$dataIp = array('208.104.70.215', '74.101.176.171', '73.17.35.30', '70.198.197.3', '46.44.179.76');print_r($dataIp);foreach ($dataIp as $key=>$value) { $data['ip'] = $value; $data['iplong'] = bindec(decbin(ip2long($value))); print_r($data); }如果填入第五行数字里面的IP到表单后提交,不管是否注释第五行,打印出来的数组都是一样的。但是循环的结果却不同,结果见图。我真不知道怎么会出现这个问题,纠结了好一阵。 关于 array_pad函数的疑问 phpize添加socket模块 php 编码遇到的问题 php二维数组合并 mysql数据库 出现下面问题 该怎么办 急急急!!! 我的setcookie()函数不起作用,怎么办? 值得关注的问题:php怎么调用自己写的java包 关于while/for/foreach的区别问题 大家是如何看待mysql_pconnect() PHP 在IIS中使用isapi方式时Bug已经解决,希望置顶一段时间 关于php计时器的问题. 图片文件,缓存文件等,有必要分很多文件夹吗?
(
[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
)
但不知你想干什么
<?php
$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
)也是正常的
$dataIp= explode("\n", $_POST['ip']);
if(empty($dataIp)){
$this->error('未填写IP!');
}
//$dataIp = array('208.104.70.215', '74.101.176.171', '73.17.35.30', '70.198.197.3', '46.44.179.76');
print_r($dataIp);
foreach ($dataIp as $key=>$value) {
$data['ip'] = $value;
$data['iplong'] = bindec(decbin(ip2long($value)));
print_r($data);
}
如果填入第五行数字里面的IP到表单后提交,不管是否注释第五行,打印出来的数组都是一样的。
但是循环的结果却不同,结果见图。我真不知道怎么会出现这个问题,纠结了好一阵。