2009-10-22 68 views
0

我已经存储在两个字符串部分字符串对比

两个IP地址值
a = '116.95.123.111' 
b = '116.95.122.112' 

我只想IP地址的前两个部分的两个字符串比较,即116.95一部分,因为它是在同一这两个字符串我的比较应该返回true。如何在PHP中做这个部分字符串比较?

回答

4

IP不会忽略可能包含前导零。爆炸时,可以将它们作为整数进行比较,以便忽略前导零。

$a = "116.95.123.111"; 
$b = "116.095.123.111" // same IP as $a, but with leading zero 

的 “干净” 的方式则是,这样的事情...

$ip1 = explode(".", $a); 
$ip2 = explode(".", $b); 

if (($ip1[0] == $ip2[0]) && (ip1[1] == $ip2[1])) { 
    // success. Do something 
} else { 
    // not valid 
} 
4

(比较IP地址)

if((ip2long($a) >> 16) == (ip2long($b) >> 16)) echo "equal";