Search code examples
phpstring-comparison

Check if a string does not contains a specific substring


In SQL we have NOT LIKE %string%

I need to do this in PHP.

if ($string NOT LIKE %word%) { do something }

I think that can be done with strpos()

But can’t figure out how…

I need exactly that comparission sentence in valid PHP.

if ($string NOT LIKE %word%) { do something }

Solution

  • if (strpos($string, $word) === FALSE) {
       ... not found ...
    }
    

    Note that strpos() is case sensitive, if you want a case-insensitive search, use stripos() instead.

    Also note the ===, forcing a strict equality test. strpos CAN return a valid 0 if the 'needle' string is at the start of the 'haystack'. By forcing a check for an actual boolean false (aka 0), you eliminate that false positive.