减少一个IPv6地址似乎很简单,这样我就可以依次获得一个先前的地址,但是我似乎无法弄清楚。
我已经找到一个代码示例来增加一个IPv6地址(实际上它也适用于IPv4),但是递减?无论我如何修改它,它都行不通,而且我对IPv6的了解不足,无法真正自己实现它。
这是我发现的可以递增的示例:
// Takes an IPv4/IPv6 address in string format, and increments it by given
function incrementIp($ip, $increment)
{
$addr = inet_pton ( $ip );
for ( $i = strlen ( $addr ) - 1; $increment > 0 && $i >= 0; --$i )
{
$val = ord($addr[$i]) + $increment;
$increment = $val / 256;
$addr[$i] = chr($val % 256);
}
return inet_ntop ( $addr );
}
非常感谢您的帮助:)