<?php //计算广播地址 /** * @param $ip 点分十进制、数字形式都支持 * @param $mask 点分十进制、位数形式都支持 * @param $returnNum 默认(false)返回的是点分十进制形式,true返回十进制数字形式 * @return unknown_type */ function getEndIP($ip = null, $mask = null,$returnNum = false){ if(is_null($ip) || is_null($mask)) return false; if(substr_count($ip,'.')){ $ip = ip2long($ip); }else{ if(!is_numeric($ip))return false; } if(substr_count($mask,'.')){ $mask = ip2long($mask); }else{ $mask = 0xffffffff << (32 - $mask); } $nw = ($ip & $mask); if($returnNum) return bindec(decbin($nw | (~$mask))); return long2ip($nw | (~$mask)); } //实例 echo getEndIP('192.168.0.0','24')."/n"; echo getEndIP('192.168.0.0','24',true)."/n"; echo getEndIP('192.168.0.0','255.255.255.0')."/n"; echo getEndIP('192.168.0.0','255.255.255.0',true)."/n"; 真的是好久没有发文章了,呵呵,昨天弄的这个,现在发出来。