本文整理汇总了PHP中IP::getMaxPrefixLength方法的典型用法代码示例。如果您正苦于以下问题:PHP IP::getMaxPrefixLength方法的具体用法?PHP IP::getMaxPrefixLength怎么用?PHP IP::getMaxPrefixLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IP
的用法示例。
在下文中一共展示了IP::getMaxPrefixLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getBlockSize
/**
* @param bool $largeNumber
* @return number|string
*/
public function getBlockSize($largeNumber = false)
{
$maxPrefixLength = $this->ip->getMaxPrefixLength();
$prefixLength = $this->getPrefixLength();
if ($largeNumber) {
return bcpow('2', (string) ($maxPrefixLength - $prefixLength));
}
return pow(2, $maxPrefixLength - $prefixLength);
}
示例2: getBlockSize
/**
* @param bool $largeNumber
* @return number|string
*/
public function getBlockSize()
{
$maxPrefixLength = $this->ip->getMaxPrefixLength();
$prefixLength = $this->getPrefixLength();
if ($this->ip->getVersion() === IP::IP_V6) {
return bcpow('2', (string) ($maxPrefixLength - $prefixLength));
}
return pow(2, $maxPrefixLength - $prefixLength);
}
示例3: moveTo
/**
* @param int $prefixLength
* @return array
* @throws \Exception
*/
public function moveTo($prefixLength)
{
$maxPrefixLength = $this->ip->getMaxPrefixLength();
if ($prefixLength <= $this->getPrefixLength() || $prefixLength > $maxPrefixLength) {
throw new \Exception('Invalid prefix length ');
}
$netmask = self::prefix2netmask($prefixLength, $this->ip->getVersion());
$networks = array();
$subnet = clone $this;
$subnet->setPrefixLength($prefixLength);
while ($subnet->ip->inAddr() <= $this->getLastIP()->inAddr()) {
$networks[] = $subnet;
$subnet = new self($subnet->getLastIP()->next(), $netmask);
}
return $networks;
}