Bueno... la función es la q utilizo en el trabajo para validar dnis españoles... Y con lo q me has dixo parece q no los valida... Tengo una errata, la ultima letra del array es una T y no una F.
Y si quieres echa un vistazo aqui:
Función validar DNI completo
A partir de una función parecida realice yo la comprobación en PHP.