問題
想知道一個字符串是否包含一個特定的子串。例如,想查看一個email地址是否包含一個 @ 。
解決
if(strpos($_POST['email'],'@') === false) { echo 'There was no @ in the e-mail address!'; }
討論
strpos()
的返回值是子串在字符串中出現的第一個位置如果字符串中根本沒有子串,
strpos()
將返回false
如果子串位於這個字符串的起始位置,
strpos()
將返回0
,因爲位置0
表示字符串的起始位置。爲了區別
0
和false
,必須使用 恆等操作符( === )
或 非恆等操作符( !== )
上述例子中使用
===
將strpos()
的返回值與false
比較。只有當strpos()
返回false
時這個測試纔會成功,如果strpos()
的返回0
或者其他任何數,測試都不會成功