Найти позицию первого появления массива строк в строке

PHP имеет функцию strpos() для нахождения позиции первого экземпляра заданного значения в строке. Есть ли способ сделать это с помощью иглы, которая представляет собой массив строк? Это дало бы первое появление:

 $str = '1st and 3rd'; str_array_pos($str, array('st', 'nd', 'rd', 'th')) //would return 1 because of 'st' 

Вы можете написать один:

 function str_array_pos($string, $array) { for ($i = 0, $n = count($array); $i < $n; $i++) if (($pos = strpos($string, $array[$i])) !== false) return $pos; return false; } 

Кстати, возвращаемое значение в вашем примере должно быть 0, а не 1, так как индексы массива начинаются с 0.

array_search () сделает это, проверьте с ===false .