My mistake with "strpos" function? php
I am trying to get strpos
to search string variable $string
for the phrase "test" and if it doesn't contain "test" another variable $change
is redefined as $string2
(where $change
has been defined previously)开发者_Python百科
if (strpos($string, 'test') == false) {
$change = $string2;
break;
}
But unfortunately it doesn't work.
Is there a mistake in the above?
Thank you.
strpos returns false if it does not find the string, which is equivalent to 0 in a type-unspecific conditional in PHP. Make sure to use the === operator when comparing using strpos.
if (strpos($string, 'test') === false) {
$change = $string2;
break;
}
Try using
if (strpos($string, 'test') === false)
=== instead of ==
strpos
can return "false" or can return "0" which can be misread as false, so instead of using the ==
comparison operator (which means "equal to") you have to use ===
(which means identical to). You might also consider a ternary statement instead of a break:
$change = (strpos($string, 'test') === false) ? $string2 : $change;
精彩评论