Предупреждение: filter_var () ожидает, что параметр 2 будет длинным, строка указана в - PullRequest
2 голосов
/ 12 апреля 2011

В этом коде я получаю предупреждение

Предупреждение: filter_var () ожидает, что параметр 2 будет длинным, строка указана в последней строке

$check = filter_var($email, FILTER_SANITIZE_EMAIL);
$str = filter_var($name, FILTER_SANITIZE_STRING);
if (!filter_var($check, FILTER_VALIDATE_EMAIL) && !filter_var($str, FILTER_VALIDATE_STRING)) { //here

Проблема в том, что безнет никаких предупреждений

 !filter_var($str, FILTER_VALIDATE_STRING)

В чем причина этой ошибки?

Ответы [ 2 ]

7 голосов
/ 12 апреля 2011

Нет такого фильтра , как FILTER_VALIDATE_STRING ... не могли бы вы просто использовать is_string?

5 голосов
/ 12 апреля 2011

Как упомянул @TaylorOtwell: фильтра нет FILTER_VALIDATE_STRING.Теперь, если вы позвоните

!filter_var($str, FILTER_VALIDATE_STRING)

, вы получите уведомление

PHP Notice:  Use of undefined constant FILTER_VALIDATE_STRING - assumed 'FILTER_VALIDATE_STRING'

Похоже, что ваш error_reporting не включает уведомления.

...