Найти позицию первого вхождения массива строк в строку - PullRequest
2 голосов
/ 02 декабря 2010

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

$str = '1st and 3rd';

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

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

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

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.

0 голосов
/ 02 декабря 2010

array_search () сделает это, протестируйте с ===false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...