<?php class NetUtils { private ?string $ipv4 = null; private ?string $subnet_mask = null; private ?string $network_address = null; private ?string $broadcast_address = null; public function setIpv4(string $ipv4): NetUtils { $this->ipv4 = $ipv4; return $this; } public function setSubnetMask(string $subnet_mask): NetUtils { $this->subnet_mask = $subnet_mask; return $this; } public function broadcastAddress(): string { return $this->broadcast_address; } public function networkAddress(): string { return $this->network_address; } public function calculate(): NetUtils { $network_address = []; $broadcast_address = []; for($i = 0; $i <= count(($ipv4 = explode('.', $this->ipv4))) -1; $i++) $broadcast_address[] = ($network_address[] = (int) $ipv4[$i] & (int) ($subnet_mask = explode('.', $this->subnet_mask))[$i]) | (~(int) $subnet_mask[$i]) + hexdec('100'); $this->network_address = sprintf('%s', implode('.', $network_address)); $this->broadcast_address = sprintf('%s', implode('.', $broadcast_address)); return $this; } } $network = (new NetUtils)->setIpv4('130.45.34.36') ->setSubnetMask('255.255.240.0') ->calculate(); echo "Network Address: {$network->networkAddress()}\nBroadcast Address: {$network->broadcastAddress()}";
You have javascript disabled. You will not be able to edit any code.