Dabei brauch ich noch mal nen kleinen Tipp.
Ich würde es anders machen: Bilde aus den beiden zu vergleichenden Arrays eine _Schnittmenge_ - diese Schnittmenge (ein neues Array) ziehst du dann vom "vollständigen" Referenzarray ab - alles was übrig bleibt, muss ins andere array hineinkombiniert werden. Alternativ kannst du statt dem Bilden einer Schnittmenge das Gegenteil machen - eine Differenz aus beiden Arrays bilden.
Wenn du den Kurzbeschreibungstext neben der Liste der Arrayfunktionen liest (und den von mir geschriebenen Text - besonders die beiden Worte "Schnittmenge" oder "Differenz" - im Hinterkopf behältst), solltest du jetzt _wirklich_ schnell auf die Lösung kommen.
Wenn ich es richtig verstanden habe, sind gar keine Schleifen oder sonstiges nötig.
Ich weiß das es mit der function array_push geht aber nicht wo ich sie einbauen muß das Sie ausgeführt wird wenn der Eintrag nicht gefunden wurde.