我知道很多关于这个问题的问题已经被问到,但我找不到适合我的具体问题的正确答案。
我有一个搜索字符串 - “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);
关于php - 如何使用 PHP 找出字符串中是否存在子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6196673/