我试图让
strpos
搜索字符串变量$string
中的短语“test”,如果它不包含“test”,则另一个变量$change
被重新定义为$string2
(其中$change
已被之前定义)
if (strpos($string, 'test') == false) {
$change = $string2;
break;
}
但不幸的是它不起作用。
上面的代码有什么错误?
strpos 如果没有找到字符串,则返回 false,这相当于 PHP 中类型非特定条件中的 0。 使用 strpos 进行比较时,请确保使用 === 运算符。
if (strpos($string, 'test') === false) {
$change = $string2;
break;
}
尝试使用
if (strpos($string, 'test') === false)
=== instead of ==
strpos
可以返回“false”或返回“0”,这可能会被误读为 false,因此您必须使用 ==
(这意味着“等于”)而不是使用 ===
比较运算符(这意味着“等于”)相同)。您也可以考虑使用三元语句而不是中断:
$change = (strpos($string, 'test') === false) ? $string2 : $change;