php在字符串中查找字符但单独使用该字符

时间:2016-10-17 11:01:54

标签: php string strpos

我想在字符串中找到4。只有4,而不是44或14或4444 ...

我无法使用strpos,因为它在找到4时返回0,但在找到44或找到444444时返回。

我应该使用什么功能?

谢谢

2 个答案:

答案 0 :(得分:1)

试试这个,使用preg_match_all

$str = 'Just 44 4 test 444';
preg_match_all('!\d+!', $str, $matches);
 // print_r($matches);


if (in_array("4", $matches[0])){
    echo "Match found";
  }
else
{
  echo "Match not found";
}

<强> DEMO

答案 1 :(得分:0)

preg_match()使用negative lookbehind and negative lookahead

preg_match('/((?<!4)4(?!4))/', $string, $m);
if ($m && count($m) == 2) {
  // matched "only one 4"
}