3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $ip = '127.0.0.1'; function test($ip) { if (false !== strpos($ip, '/')) { list($address, $netmask) = explode('/', $ip, 2); if ($netmask < 1 || $netmask > 32) { return false; } } else { $address = $ip; $netmask = 32; } $netmask = str_pad(str_pad('', $netmask, '1'), 32, '0'); $in_addr = ''; foreach(array_map('bindec', str_split($netmask, 8)) as $char) { $in_addr .= pack('C*', $char); } $netmask = inet_pton(inet_ntop($in_addr)); $network = inet_pton($address) & $netmask; return [$network, inet_ntop($network | ~$netmask)]; } var_dump(test('127.0.0.1')); var_dump(test('10.0.0.3/29'));
based on GU8XO
Output for 5.4.9 - 7.2.0
array(2) { [0]=> string(4) "" [1]=> string(9) "127.0.0.1" } array(2) { [0]=> string(4) " " [1]=> string(8) "10.0.0.7" }
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/r6kHT on line 25
Process exited with code 255.