php kısmi dize karşılaştırma

3 Cevap php

i iki dizeleri iki ip adres değerlerini kaydettikten

a = '116.95.123.111'
b = '116.95.122.112'

ben sadece iki dizeleri ip adresi ie 116.95 kısmı ilk iki bölümünü karşılaştırmak istiyorsanız ve bu dizeleri hem de aynı olduğu gibi benim karşılaştırma doğru dönmelidir. PHP bu kısmi dize karşılaştırma yapmak nasıl?

3 Cevap

IP adresleri gelen sıfırları içerebilir. Patlayan zaman lider sıfırları göz ardı edilir, böylece onlar, tamsayılar olarak mukayese edilebilir.

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

"Temiz" bir şekilde bu gibi bir şey ile olur ...

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

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

Bu özel durumda, (ip adresleri karşılaştırma)

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