我的错误是“strpos”功能? PHP

时间:2009-10-20 01:42:18

标签: php strpos

我正在尝试strpos搜索字符串变量$string以获取短语“test”,如果它不包含“test”,则另一个变量$change将重新定义为{{ 1}}(之前已定义$string2

$change

但不幸的是它不起作用。

以上是否有错?

谢谢。

3 个答案:

答案 0 :(得分:6)

strpos如果找不到字符串则返回false,这在PHP中的类型非特定条件中等于0。在使用strpos进行比较时,请确保使用===运算符。

if (strpos($string, 'test') === false) {
  $change = $string2;
  break;
} 

答案 1 :(得分:3)

尝试使用

if (strpos($string, 'test') === false)

=== instead of ==

答案 2 :(得分:3)

strpos可以返回“false”或者可以返回“0”,这可能被误读为false,因此不必使用==比较运算符(意​​思是“等于”),而是必须使用===(意思相同)。您也可以考虑使用三元语句而不是休息:

  $change = (strpos($string, 'test') === false) ? $string2 : $change;