首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查字符串是否不包含特定短语?

如何检查字符串是否不包含特定短语?
EN

Stack Overflow用户
提问于 2014-01-10 17:48:15
回答 7查看 66.5K关注 0票数 28

如何反演如何检查字符串是否包含PHP中的特定单词?的功能

代码语言:javascript
复制
if (strpos($a,'are') !== false) {
    echo 'true';
}

因此,如果are,而不是在$a中发现的,它就会与$a产生共鸣。

EN

回答 7

Stack Overflow用户

发布于 2014-01-10 17:55:34

这里的代码:

代码语言:javascript
复制
if (strpos($a, 'are') !== false) {
    // The word WAS found
}

表示在字符串中找到了这个单词。如果删除NOT (!)接线员,你颠倒了条件。

代码语言:javascript
复制
if (strpos($a, 'are') === false) {
    // The word was NOT found
}

===是非常重要的,因为如果单词“are”位于字符串的开头,那么strpos将返回0,而且由于0松散等于FALSE,您将很沮丧地试图找出错误的地方。===操作符让它非常确切地检查结果是否为布尔值假,而不是0。

举个例子

代码语言:javascript
复制
if (!strpos($a, 'are')) {
    // String Not Found
}

如果$a =“您今晚会来吗?”,这段代码会说找不到字符串'are‘,因为'are’的位置是0,是字符串的开头。这就是为什么使用===错误检查如此重要的原因。

票数 69
EN

Stack Overflow用户

发布于 2017-11-01 12:43:15

使用strstr():

代码语言:javascript
复制
if (!strstr($var, 'something')) {
    // $var does not contain 'something'
}

或strpos():

代码语言:javascript
复制
if (strpos($var, 'something') === false) {
    // $var does not contain 'something'
} 

或者stripos(),如果您想要不区分大小写的搜索。

strpos()是一个小更快

票数 7
EN

Stack Overflow用户

发布于 2014-01-10 17:50:18

当你看到它的时候你可能会踢你自己..。

代码语言:javascript
复制
if (!strpos($a,'are') !== false) {
    echo 'true';
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21051004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档