php下使用strpos需要注意 === 运算符

复制代码 代码如下:

  <?php

  /*

  判断字符串是否存在的函数

  */

  function strexists($haystack, $needle) {

  return !(strpos($haystack, $needle) === FALSE);//注意这里的"==="

  }

  /*

  Test

  */

  $mystring = 'abc';

  $findme = 'a';

  $pos = strpos($mystring, $findme);

  // Note our use of ===. Simply == would not work as expected

  // because the position of 'a' was the 0th (first) character.

  // 简单的使用 "==" 号是不会起作用的,需要使用 "===",因为 a 第一次出现的位置为 0

  if ($pos === false) {

  echo "The string '$findme' was not found in the string '$mystring'";

  } else {

  echo "The string '$findme' was found in the string '$mystring'";

  echo " and exists at position $pos";

  }

  // We can search for the character, ignoring anything before the offset

  // 在搜索字符的时候可以使用参数 offset 来指定偏移量

  $newstring = 'abcdef abcdef';

  $pos = strpos($newstring, 'a', 1); // $pos = 7, not 0

  ?>