Gli switch mi sembrano corretti, se non passa le condizioni (case "..) sicuramente è il contenuto delle variabili ad essere sbagliato...
$lettera = substr($nome,$lunghezza -1);
$lettere = substr($nome,$lunghezza -3);
escludendo il disastro psicologico che hai fatto qui:
case "o":
default:
$tipo = default:
$tipo = "indeterminabile";
Puoi tranquillamente farlo così: (si, sostituisci queste 4 righe a queste
default:
$tipo = "indeterminabile";
Vedi gli output di $lettera e $lettere per capire se i valori che escono sono quelli che ti aspetti..
Altra cosa, per come hai fatto il sistema,
sciare è DIVERSO da SCIARE, quindi il primo are ti genera la condizione, la seconda no, essendo maiuscola..
EDIT: lascio il messaggio originale per correttezza, ma ha ragione filippo, perchè nello switch dove controlli ARE, fai il break dello switch interno, ma poi avviene che tipo, assume il valore di femmina in quanto non lo fai uscire dallo switch... dovresti fare così:
$tipo = "femmina";
switch ($lettere)
{
case 'are':
$tipo = "cicciolinaporno";
break;
}
break;
Così solo se entra nel case 'are' ti cambia il valore di $tipo...
![]()