<%
Function cacuIp(sIP)
On Error Resume Next
Dim srIp, aIp
srIp=0
aIp = Split(sIP,".") '将ip字符串按“.”分解成数组 等价的php函数split()
If UBound(aIP)<>3 Then '最大可用下标不等于3,表示不是一个ip地址串 等价的php函数count()
cacuIP=0
Exit Function
End If
For i=0 To 3
srIp=srIp+(CInt(aIP(i))*(256^(3-i))) '在php中可自动做数据类型转换,所以无须存在与CInt等价的函数
Next
cacuIp=srIp-1
If Err Then cacuIp=0
End Function
%>
于是可直译成
<?php
function cacuIp($sIP) {
$srIp = 0;
$aIp = split("\.",$sIP);
if(count($aIp) != 4) {
return $srIp;
}
for($i=0;$i<4;$i++)
$srIp += $aIp[$i] * pow(256,3-$i);
return $srIp;
}
?>
另外,php本身就提供了将ip转换成数值的函数ip2long
Function cacuIp(sIP)
On Error Resume Next
Dim srIp, aIp
srIp=0
aIp = Split(sIP,".") '将ip字符串按“.”分解成数组 等价的php函数split()
If UBound(aIP)<>3 Then '最大可用下标不等于3,表示不是一个ip地址串 等价的php函数count()
cacuIP=0
Exit Function
End If
For i=0 To 3
srIp=srIp+(CInt(aIP(i))*(256^(3-i))) '在php中可自动做数据类型转换,所以无须存在与CInt等价的函数
Next
cacuIp=srIp-1
If Err Then cacuIp=0
End Function
%>
于是可直译成
<?php
function cacuIp($sIP) {
$srIp = 0;
$aIp = split("\.",$sIP);
if(count($aIp) != 4) {
return $srIp;
}
for($i=0;$i<4;$i++)
$srIp += $aIp[$i] * pow(256,3-$i);
return $srIp;
}
?>
另外,php本身就提供了将ip转换成数值的函数ip2long
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货