Hallo Robert
Tatsächlich bricht das break im if in der while-Schleife im case aber nicht den case ab, sondern lediglich die while-Schleife.
Es müßte also eigentlich heißen (Ergänzung mit ### markiert):
PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement ### which is not inside a while, for, foreach, do or nested switch statement ###.
Lies lieber bei break nach, dort steht es korrekt. Beachte bitte das optionale numerische Argument.
Freundliche Grüße
Vinzenz