Hallo.
Das Einzige, was mir dazu noch einfällt ist, dass du den Array 2x überprüfst.
das glaube ich aber nicht. dadurch, dass beide schleifen auf dem gleichen array laufen und mit array_splice aus eben _diesem_ array was weggeenommen wird, kann beim nächsten durchlauf des weggenommene element nicht mehr angesprungen werden. oder?
andi