【PHP】字符串-访问子串

问题

想知道一个字符串是否包含一个特定的子串。例如,想查看一个email地址是否包含一个 @ 。

解决

if(strpos($_POST['email'],'@') === false) {
    echo 'There was no @ in the e-mail address!';
}

讨论

  1. strpos()的返回值是子串在字符串中出现的第一个位置
  2. 如果字符串中根本没有子串, strpos() 将返回 false
  3. 如果子串位于这个字符串的起始位置,strpos() 将返回 0,因为位置 0 表示字符串的起始位置。
  4. 为了区别0false,必须使用 恒等操作符 ( === )非恒等操作符 ( !== )
  5. 上述例子中使用=== strpos()的返回值与false比较。只有当strpos()返回false时这个测试才会成功,如果strpos()的返回0或者其他任何数,测试都不会成功

参考

strpos()有关文档

posted @ 2017-02-14 18:50  dorank  阅读(424)  评论(1编辑  收藏  举报