“strpos”函数有什么错误?

问题描述 投票:0回答:3

我试图让

strpos
搜索字符串变量
$string
中的短语“test”,如果它不包含“test”,则另一个变量
$change
被重新定义为
$string2
(其中
$change
已被之前定义)

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

但不幸的是它不起作用。

上面的代码有什么错误?

php strpos
3个回答
6
投票

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

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

3
投票

尝试使用

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

=== instead of ==

3
投票

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

  $change = (strpos($string, 'test') === false) ? $string2 : $change;
© www.soinside.com 2019 - 2024. All rights reserved.