public function containsAddress($address) { $address = PhutilIPAddress::newAddress($address); $block_bits = $this->ip->toBits(); $address_bits = $address->toBits(); return strncmp($block_bits, $address_bits, $this->bits) === 0; }
public function testIPAddressToBits() { $cases = array('0.0.0.0' => '00000000000000000000000000000000', '255.255.255.255' => '11111111111111111111111111111111', '255.0.0.0' => '11111111000000000000000000000000', '0.0.0.1' => '00000000000000000000000000000001', '0.0.0.2' => '00000000000000000000000000000010', '0.0.0.3' => '00000000000000000000000000000011'); foreach ($cases as $input => $expect) { $actual = PhutilIPAddress::newAddress($input)->toBits(); $this->assertEqual($expect, $actual, 'PhutilIPAddress[' . $input . ']->toBits()'); } }