Longman\IPTools\Ip::match PHP Method

match() public static method

Checks if an IP is part of an IP range.
public static match ( string $ip, $ranges ) : boolean
$ip string IPv4/IPv6
return boolean true if IP is part of range, otherwise false.
    public static function match($ip, $ranges)
    {
        if (is_array($ranges)) {
            foreach ($ranges as $range) {
                $match = self::compare($ip, $range);
                if ($match) {
                    return true;
                }
            }
        } else {
            return self::compare($ip, $ranges);
        }
        return false;
    }

Usage Example

Beispiel #1
0
 /**
  * @test
  */
 public function test8()
 {
     $status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:3257:*');
     $this->assertTrue($status);
     $status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:*:*');
     $this->assertTrue($status);
     $status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:9999');
     $this->assertTrue($status);
     $status = Ip::match('2001:cdba:0000:0000:0000:0000:3258:9652', '2001:cdba:0000:0000:0000:0000:3257:*');
     $this->assertFalse($status);
     $status = Ip::match('2001:cdba:0000:0000:0000:1234:3258:9652', '2001:cdba:0000:0000:0000:0000:*:*');
     $this->assertFalse($status);
     $status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:7778', '2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:7777');
     $this->assertFalse($status);
 }