Giusto un paio di cose:
1. In PHP (0 == '') è true. Quindi se fai
$telefono sarà convertito in 0, e come ti ho detto è anche uguale a '' (convertito, nel confronto, anche lui come 0); quindi soddisfa il primo if.Codice PHP:$telefono = (int)'ab123cdf';
2.
quando viene convertito in int, vengono presi solo gli interi. Quindi $telefono sarà uguale a 123.Codice PHP:$telefono = (int)'123abc';
Il che fa fallire il terzo if (123 è intero)
Come dice Badaze, ti conviene fare una regexp, anche perchè con gli interi ti perderesti eventuali 0 prefissi

Rispondi quotando