如何使用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);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...