} $diff = $t - $c; $newSegments = array(); foreach ($segments as $i => $segment) { if (empty($segment)) { for ($i = 0; $i <= $diff; $i++) { $newSegments[] = '0000'; } continue; } $newSegments[] = $segment; } if (count($newSegments) !== 8) { throw new \Exception('Expanding segments failed for unknown reason'); } $segments = $newSegments; unset($newSegments); return $segments; } } // lets run this thing $calc = new IPv6Calculator(); if (isset($_REQUEST['cidr'])) { if ($calc->calc($_REQUEST['cidr']) === true) { var_dump($calc->getNetworkRange()); } else { echo $calc->getErrorMessages(); } } else { echo "No Request received"; }