我正在尝试strpos
搜索字符串变量$string
以获取短语“test”,如果它不包含“test”,则另一个变量$change
将重新定义为{{ 1}}(之前已定义$string2
)
$change
但不幸的是它不起作用。
以上是否有错?
谢谢。
答案 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;