Вы можете зациклить все строки массива и использовать strpos
для каждой строки; примерно так:
$search_string = '<div>1</div>';
$array = array(
'sample' => '<div>1</div><p>fish food</p>',
'sample2' => '<div>2</div><p>swine</p>'
);
foreach ($array as $key => $string) {
if (strpos($string, $search_string) === 0) {
var_dump($key);
}
}
Что даст вам ключ строки, начинающейся с вашей строки поиска:
string 'sample' (length=6)
Или preg_grep тоже может помочь:
Возвращает массив, состоящий из
элементы входного массива,
соответствовать заданному шаблону.
Например:
$result = preg_grep('/^' . preg_quote($search_string, '/') . '/', $array);
var_dump($result);
(не забудьте использовать preg_quote
!)
Получит вас:
array
'sample' => string '<div>1</div><p>fish food</p>' (length=28)
Обратите внимание, что таким образом вы получаете не ключ, а только содержимое строки.