Помогите разобраться... В цикле некорректно выполняется функция, хотя без цикла всё работает. Код (PHP): function netMatch ($CIDR,$IP) { list ($net, $mask) = explode ('/', $CIDR); return ( ip2long ($IP) & ~((1 << (32 - $mask)) - 1) ) == ip2long ($net); } print "<br><br>"; var_dump(netMatch('85.0.0.0/8','85.113.58.199')); $seek_ip=netMatch('85.0.0.0/8','85.113.58.199'); if($seek_ip!="1")$seek_ip="0"; if($seek_ip=="1"){ print "BINGO! "; }else{ print ":( "; } $SEEK_IP_POOL_S = mysql_query("SELECT * FROM ip_permission WHERE client='$user_id'"); while($SEEK_IP_POOL = mysql_fetch_array($SEEK_IP_POOL_S )){ //$seek_ip="0"; $ip_mask="$SEEK_IP_POOL[ip]"."$SEEK_IP_POOL[mask]"; $seek_ip=netMatch($ip_mask,'$user_ip'); if($seek_ip!="1")$seek_ip="0"; if($seek_ip=="1"){ print "BINGO! "; }else{ print ":( "; } print "$seek_ip=netMatch('$ip_mask','$user_ip'); $ip_mask<br>"; //$seek_ip="0"; Цикл для netMatch('85.0.0.0/8','85.113.58.199'); отдаёт 0, хотя без цикла отдаётся еденица. Что делаю не так? Добавлено спустя 4 минуты 7 секунд: В цикле только 0.0.0.0/0 работает Добавлено спустя 5 минут 28 секунд: То для всех ip и масок работает. Цикл отдаёт: Добавлено спустя 33 минуты 29 секунд: Заметил, так аналогично со всеми функциями. Что Я делаю не так с циклом, что у меня он отдаёт не верный результат?