3

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

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

但不幸的是,它不起作用。

上面有错吗?

谢谢你。

4

3 回答 3

6

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

if (strpos($string, 'test') === false) {
  $change = $string2;
  break;
} 
于 2009-10-20T01:46:54.313 回答
3

尝试使用

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

=== instead of ==
于 2009-10-20T01:49:03.597 回答
3

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

  $change = (strpos($string, 'test') === false) ? $string2 : $change;
于 2009-10-20T01:54:09.420 回答