根据掩码计算ip范围值。实际可用的范围还要-2(全0和全1)
<?php
// simple example
$ipstr = "192.168.178.123/24";
list($ipstr, $maskstr) = explode('/', $ipstr);
$base = ip2long('255.255.255.255');
$ip = ip2long($ipstr);
$mask = pow(2,32-intval($maskstr))-1;//mask=0.0.0.255(int)
$smask = $mask ^ $base;//smask=255.255.255.0(int)
$min = $ip & $smask;
$max = $ip | $mask;
echo long2ip($min)."\n";//192.168.178.0
echo long2ip($max)."\n";//192.168.178.255
?>