$arr = array(
'1.1.1.1_4.1.1.8',
'2.2.2.1_5.5.5.5',
'110.1.1.1_194.2.168.1',
'192.168.1.1_223.233.223.1',
'192.165.1.2_199.2.2.1',
'4.4.4.4_6.6.6.6',
'8.8.8.1_10.1.1.1',
'8.1.1.1_9.10.10.10',
'18.1.1.1_19.2.2.2',
'9.0.0.1_12.9.9.10',
);
$arr中下划线用来间隔一个ip段的,现在要去合并相同的ip段,得到一个新的数组,不考虑子网掩码,例如,1.1.1.1_192.168.1.1,假设有9.9.9.9或者在这之间的都会合并,最后只保留1.1.1.1_192.168.1.1,算法尽可能效率高一些
怕别人没有听明白:举个例子.
1.1.1.1_3.3.3.3
3.2.2.2_6.6.6.6
那么合并后的结果就是:1.1.1.1_6.6.6.6
假设:
1.1.1.1_3.3.3.3
4.4.4.4_6.6.6.6
那么合并后的结果不变,还是这两个,因为中间的段有间隔
BIG阳
万千封印