Was sind die Schritte die PHP Stück für Stück abarbeitet? Wieso versucht er $Key dann zu parsen und wieso genau ergibt das dann 0 = 'test' ?
Wenn mich nicht alles täuscht wird der Typ des rechten Operanden an den Typen des linken angepasst. Und wenn man probiert den String 'test' in eine Zahl zu konvertieren, kommt dabei eben 0 raus. Über die genauen Kovertierungsregeln habe ich auf die schnelle nichts im Handbuch finden kann, aber ich vermute sie folgen den allgemeinen Regeln von Type-Casting in PHP.