PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement.
Das hieße aber genaugenommen, daß z.B. bei
switch($irgendwas)
{
case 1:
while ($sonstwas)
{
if ($wasanderes)
break;
}
echo "hallo";
break;
case 2:
break;
}
>
> das "hallo" nicht ausgegeben werden dürfte, wenn die Bedingung $wasanderes true ist - denn dann trifft der Interpreter auf ein break und müßte laut Beschreibung die Abarbeitung abbrechen.
>
dein 'statement' ist der switch-block.
breaks sind aber auch für andere blöcke wie z.b. schleifen vorgesehen.
die blöcke werden zur laufzeit nacheinander geöffnet (stack). das auftreten eines breaks reduziert diesen stack, so dass der vorhergehende block aktiv ist.
deshalb wird 'hallo' ausgegeben.