在字符串中查找第一次出现的字符串数组

时间:2010-12-02 00:00:36

标签: php arrays string

PHP有一个函数strpos(),用于查找字符串中给定值的第一个实例的位置。有没有办法用针是一个字符串数组的针?它会给出第一次出现:

$str = '1st and 3rd';

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

2 个答案:

答案 0 :(得分:3)

你可以自己写一个:

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开始。

答案 1 :(得分:0)

array_search()会这样做,请使用===false进行测试。