我正在尝试使用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。因此,你需要使用 ===
(意为完全相同)运算符,而不是使用 ==
(意为等于)运算符进行比较。你还可以考虑使用三元语句代替 break 语句:
$change = (strpos($string, 'test') === false) ? $string2 : $change;