开发者

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;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜