Bueno, en realidad, no me refiero a que la variable sea declada con un tipo en específico, sino, simplemente que haya sido declarada.
Por ejemplo, imaginen que estoy trabajando con una aplicación en donde utilizo las variables $a,$b y $c, entonces, por ejemplo en vez de poner $c = "Hola" pues pongo $cv = "Hola". Supongamos que por error le puse una "v", pero no me di cuanta.
Mi lógio del programa está bien, pero cuando quiera imprimir la variable c, estará vacía, entonces, no sabré inmediatamente donde está el error, tendré que leer mi código nuevamente. Pero si estoy trabajando de formá explícita, inmediatamente ejecute esa página, dirá, la variable $cv no está declarada. entonces encontraré el error inmediatamente.
Esto fue un ejemplo sencillo, no obstante, si se se está trabajando con una aplicación más complejas donde los nombres de las variables seán más largos y se use una gran cantidad de variables, entonces se complica el asunto.
No es que no se pueda trabajar con PHP de forma implícita, se puede, pero la depuración de errores se vuelve un poco más tesiosa. ASP tiene un punto a su favor por encima de PHP con respecto a las declaraciones de variables para trabajar de forma explícita.