<?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";
使用php根据起始ip地址和掩码 计算广播地址(网段结束地址)
最新推荐文章于 2022-01-14 17:15:15 发布