How to use strpos to determine if a string exists in input string?

if (strpos($filename, $match) === false)

Otherwise, strpos will return 0 (the index of the match), which is false.

The === operator will also compare type of the variables (boolean != integer)


strpos returns false if the string is not found, and 0 if it is found at the beginning. Use the identity operator to distinguish the two:

if (strpos($filename, $match) === false) {

By the way, this fact is documented with a red background and an exclamation mark in the official documentation.


false === strpos($filename, $match)

The strpos functionDocs returns false if not found or 0 if found on position 0 (programmers like to start counting at 0 often):

Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.


The strpos() function is case-sensitive.

if(strpos($filename, $match) !== false)
        {
        // $match is present in $filename
        }
    else 
       {
       // $match is not present in $filename 
       }

For using case-insensitive. use stripos() that is it finds the position of the first occurrence of a string inside another string (case-insensitive)

Tags:

Php

Strpos