PHPDaemon\BoundSocket\Generic::netMatch PHP Method

netMatch() public static method

Checks if the CIDR-mask matches the IP
public static netMatch ( $CIDR, $IP ) : boolean
return boolean Result
    public static function netMatch($CIDR, $IP)
    {
        /* TODO: IPV6 */
        if (is_array($CIDR)) {
            foreach ($CIDR as &$v) {
                if (self::netMatch($v, $IP)) {
                    return true;
                }
            }
            return false;
        }
        $e = explode('/', $CIDR, 2);
        if (!isset($e[1])) {
            return $e[0] === $IP;
        }
        return (ip2long($IP) & ~((1 << 32 - $e[1]) - 1)) === ip2long($e[0]);
    }