Hallöle,
Ist das ein echtes Feature von PHP oder nur eine Lücke, die vielleicht in der nächsten PHP-Version geschlossen wird?
Das ist ein gewünschtes und definiertes Verhalten.
Hab ich mir schon fast gedacht, aber im Manual hab ich nur das hier gefunden:
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.
Aber wenn das Verhalten so definiert ist wie es tatsächlich von meinem PHP-Interpreter gemacht wird, dann kann ich das also beruhigt in meinen Scripts benutzen, ohne befürchten zu müssen, daß beim PHP-Update mir das Script um die Ohren fliegt ...
cu,
Robert