Tach!
Seht ihr zufällig den Fehler?
Mit Zufall programmiert und fehlersucht es sich ziemlich ungewiss. Kontrollausgaben (zum Beispiel mit var_dump()) deiner Variableninhalte sollten zielführender sein. Finde zunächst heraus, wo Wunsch und Wirklichkeit auseinanderlaufen.
dedlfix.