首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中的数组中搜索子字符串

在php中的数组中搜索子字符串
EN

Stack Overflow用户
提问于 2011-11-11 07:10:32
回答 2查看 120关注 0票数 0

我正在尝试搜索字符串中某些单词的出现情况,并将它们与数组中的短列表进行匹配。我将通过一个例子来解释我的问题。

代码语言:javascript
复制
            $arrTitle = explode(" ", "Suburban Apartments");
    foreach( $arrTitle as $key => $value){
        echo "Name: $key, Age: $value <br />";
        $words = array("hotel", "apart", "hostel");
        if (in_array($value, $words)) {
            echo "Exists";
        }
    }

我希望比较字符串的一部分,在上面的例子'Apartments‘和$words数组中比较字符串’‘的出现。我希望这是有意义的。这是可能的吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-11 07:13:53

然后你必须稍微修改一下你的代码。请看下面的内容:

代码语言:javascript
复制
$arrTitle = explode(" ", "Suburban Apartments");
foreach( $arrTitle as $key => $value){
    echo "Name: $key, Age: $value <br />";
    $words = array("hotel", "apart", "hostel");
    foreach($words as $word){
        if (stripos($value, $word) !== false) {
            echo "Exists";
        }
    }
}

注意,在要搜索的单词上添加了foreach,并用in_array替换了strpos。

对于您的个人信息,in_array将检查$word是否在数组中作为一个整体值,这不是您想要的。您需要使用strpos或stripos (不区分大小写)检查每个单词的存在。

票数 5
EN

Stack Overflow用户

发布于 2011-11-11 07:13:24

使用正则表达式匹配文本。

http://php.net/manual/en/function.preg-match.php

您需要逐个遍历所查找的每个数组值,因此必须在循环内循环,并在每个数组上运行regexp以查找匹配项。

确保它们不区分大小写。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8087695

复制
相关文章

相似问题

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