Я знаю много вопросов, уже заданных по этой проблеме, но мне не удалось найти правильный ответ для моей конкретной проблемы.
У меня есть строка поиска - "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;
}