微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用PHP查明字符串中是否存在子字符串?

我知道很多关于这个问题的问题,但是我找不到针对我的具体问题的正确答案.

我有一个搜索字符串 – “1 | 1”

我有一个包含以下值的数组 – “a”=> “1 | 1”,“b”=> “2 | 1,1 | 1”,“c”=> “3 | 2,2 | 1”

我想要做的只是找出数组中是否存在搜索字符串,它应该返回数组键.如果多个数组项具有搜索字符串,则应返回所有数组项.

在这个例子中,我期望得到“a”和“b”,但是当我使用strpos()时,它只给我“a”.

我怎么解决这个问题?

编辑**

这是我的代码

function array_search_i($str, $array)
{
    $returnArray = array();
    foreach ($array as $key => $value) {
        if (strpos($str, $value) !== false) {
            array_push($returnArray, $key);
        }
    }
    return $returnArray;
}

解决方法:

注意!==运算符.我们还要检查类型..

$searchArray = array('2|2','1|1,3|3','1|1');
$search = '1|1';
foreach ($searchArray as $k=> $value) {
    if (strpos($value,$search) !== false) {
        $keysWithMatches[] = $k;
    }
}

print_r($keysWithMatches);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐