Wie sonst könnten Sie zwei Arrays ($A und $B )vergleichen und übereinstimmende Elemente aus dem ersten zu reduzieren, um für die nächste Schleife über das Array $A vorzubereiten?
$A = array(1,2,3,4,5,6,7,8);
$B = array(1,2,3,4);
$C = array_intersect($A,$B); //equals (1,2,3,4)
$A = array_diff($A,$B); //equals (5,6,7,8)
Ist dies der einfachste Weg oder gibt es eine Möglichkeit, eine andere Funktion zu verwenden, an die ich noch nicht gedacht habe? Mein Ziel ist es, ein Array zu haben, das ich in einer Schleife durchlaufen kann, um Gruppen von verwandten Inhalten herauszuziehen (ich habe diese Beziehungen an anderer Stelle definiert), bis das Array false zurückgibt.
0 Stimmen
Vielleicht liegt es an mir, aber ich glaube, die Frage ist nicht ganz klar. So wie ich es lese, sind Sie nur an array_diff($A,$B) interessiert (was ziemlich einfach erscheint). Oder ist die Berechnung von $C auch wichtig? (Wenn ja, können Sie array_diff($A,$C) anstelle von array_diff($A,$B) verwenden).
0 Stimmen
Nein, ich erkläre $C als die Schnittmenge von $A und $B