2011-04-12 50 views
2

給在這段代碼中,我得到一個警告警告:filter_var()預計參數2長,字符串中

警告: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) 

什麼是這個錯誤的原因是什麼?

+0

什麼是「驗證字符串」應該是無論如何? – Jon 2011-04-12 14:40:45

+0

這是來自Live Chat插件嗎? – TARKUS 2017-02-06 15:34:56

回答

7

有沒有這樣的filter作爲FILTER_VALIDATE_STRING ...你可以只使用is_string?

+0

就「is_string」而言,它肯定會是一個字符串。沒有人會寫'$ name = 5;'。 – Jon 2011-04-12 14:41:21

+0

@Jon:誰是沒有人,和他有什麼關係? – 2011-04-12 14:42:45

+0

我應該看過文檔。對不起,謝謝 – user455318 2011-04-12 14:48:36

4

As @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犯規包括通知。

相關問題