как нибудь проверю твой метод, хорошо было бы разбирать если хоть одна строка была подписана, я обычно комментирую код, чтобы в следующий раз вспомнить а нафига это писал).
Из формы всегда приходят только строки. И проверять их нужно, как строки. Например, с помощью регулярного выражения. А приведение строки к другим типам может изменить данные. Я недавно придумал такую проверку: Код (Text): $var === (string) floatval($var) ; Чтобы убедиться, укладывается ли полученное из формы значение во float без изменений. То же самое можно для int. Недостатоков пока не нашёл.