echo $begrüßung;
Naja ich wollt den Quelltext kurz halten und die Räume die da mit 'und' verknüpft sind liegen genau nebeneinander.
Niemand kann gleichzeitig in Raum 1 UND in Raum 2 sein, nur in Raum 1 ODER Raum 2.
Das Problem ist hier nicht die UND/ODER-Logik. Hier findet seitens PHP folgendes statt:
switch (testausdruck) {
case ausdruck1:
case ausdruck2:
...
}
Im konkreten Fall ist ausdruck1 1 && 2. Das wird von PHP erst einmal ausgerechnet. Ein Ausdruck a && b ergibt entweder true oder false. 1 wird ebenso wie 2 durch Typumwandlung zu true. true && true ergibt true. Das gleiche passiert mit allen anderen Zahlenwerten ungleich 0.
Das switch-Statement sieht also so aus:
switch (testausdruck) {
case true:
case true:
...
}
Wenn als testausdruck etwas übergeben wird, dass bei einem Vergleich mit true ein true ergibt, ist die Bedingung des ersten case-Falles erfüllt.
echo "$verabschiedung $name";