per quanto possa essere strano, è una sintassi validache io ricordi non puoi utilizzare operatori logici nei case
Codice PHP:
switch (true) {
case $ore >=0 && $ore <= 12:
echo "Buongiorno $nome, sono le $ore";
break;
case $ore >=12 && $ore <= 21:
echo "Buonasera $nome, sono le $ore";
break;
case $ore >=21 && $ore <= 23:
echo "Buonanotte $nome, sono le $ore";
break;
default:
echo "Non lo so!";
break;
}