Tach!
[Netzmasken streichen] …und dann für jeden Eintrag aus
$b
in der Formw.x.y.z
prüfen, obw
,w.x
,w.x.y
oderw.x.y.z
als Index in$a2
existieren (isset
).
Der Ansatz liefert falsche Ergebnisse, wenn die Netzmasken andere sind als 8, 16 und 24.
Das bekommt man besser hin, wenn man Bitoperationen auf den numerischen Wert der Adressen (ip2long()) verwendet: A-Adresse mit Broadcast-Adresse von dessen Netzwerk Oder-Verknüpfen und zum Test die B-Adresse Und-Verknüpfen. 0 == enthalten.
Außerdem ging es doch hauptsächlich darum, verschachtelte foreach zu vermeiden.
dedlfix.