PHP strpos() Function

In this chapter you will learn:

  1. Definition for PHP strpos() Function
  2. Syntax for PHP strpos() Function
  3. Parameter for PHP strpos() Function
  4. Return for PHP strpos() Function
  5. Example - what will strrpos() return in case of not found
  6. Example - Check the return value with ===

Definition

The strpos() function, and its case-insensitive sibling, stripos(), searches for a substring, find the position of the first occurrence of a substring in a string.

Syntax

PHP strpos() Function has the following syntax.

int strpos ( string haystack, mixed needle [, int offset] )

Parameter

  • haystack - The string to search in.
  • needle - If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.
  • offset - If specified, search will start this number of characters counted from the beginning of the string. Unlike strrpos() and strripos(), the offset cannot be negative.

Return

PHP strpos() Function returns the position of where the needle exists relative to the beginning of the haystack string.

PHP strpos() Function returns FALSE if the needle was not found.

String positions start at 0, and not 1.

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Use the === operator for testing the return value of this function.

Example 1

What will strrpos() return in case of not found


<?PHP/*ja  v  a 2  s.  com*/
$myString = "Hello, world!"; 
echo strpos( $myString, "wor" ); // Displays '7' 
echo "\n";
echo strpos( $myString, "xyz" ); // Displays '' (false)   
?>

The code above generates the following result.

Example 2


<?PHP
$string = "This is a test from java2s.xom"; 
print strpos($string, "s") . "\n"; 
?>

PHP considers the first letter of a string to be index 0.

You can specify whole words in the second parameter. For example,


<?PHP
$string = "This is a test from java2s.xom"; 
print strpos($string,  "test") ;
?>

If the substring sent in parameter two is not found, strpos() will return false as opposed to -1.

This is very important, as shown in this script:


<?PHP/*from  j a v a  2s .  c  o  m*/
$string = "This is a strpos() test"; 
$pos = strpos($string, "This"); 
if ($pos == false) { 
        print "Not found\n"; 
} else { 
        print "Found!\n"; 
} 
?>

That will output "Not found". In the code above strpos() returns 0. However, PHP considers 0 to be the same value as false.

If we change if statement to use === rather than ==, PHP will check the value of 0 and false and find they match (both false), then check the types of 0 and false, and find that they do not match-the former is an integer, and the latter is a boolean. So, the corrected version of the script is this:


<?PHP/*from   j a  va 2  s .  co m*/
$string = "This is a strpos() test"; 
$pos = strpos($string, "This"); 
if ($pos === false) { 
        print "Not found\n"; 
} else { 
       print "Found!\n"; 
} 
?>

The third parameter to strpos() sets where to start searching from. For example:


<?PHP/*from  j  a  va2 s. c  o  m*/
$string = "This is a strpos() test"; 
$pos = strpos($string, "i", 3); 
if ($pos === false) { 
    print "Not found\n"; 
} else { 
    print "Found at $pos!\n"; 
} 
?>

Next chapter...

What you will learn in the next chapter:

  1. Definition for PHP strrchr() Function
  2. Syntax for PHP strrchr() Function
  3. Parameter for PHP strrchr() Function
  4. Return for PHP strrchr() Function
  5. Example - Search a string for "world", and return all characters from this position to the end of the string
  6. Example - Search a string for the ASCII value
Home » PHP Tutorial » PHP String Functions
PHP addcslashes() Function
PHP addslashes() Function
PHP bin2hex() Function
PHP chop() Function
PHP chr() Function
PHP chunk_split() Function
PHP convert_cyr_string() Function
PHP convert_uudecode() Function
PHP convert_uuencode() Function
PHP count_chars() Function
PHP crc32() Function
PHP crypt() Function
PHP echo() Function
PHP get_html_translation_table() Function
PHP hebrev() Function
PHP hebrevc() Function
PHP hex2bin() Function
PHP html_entities() Function
PHP html_entity_decode() Function
PHP htmlspecialchars() Function
PHP htmlspecialchars_decode() Function
PHP join() Function
PHP lcfirst() Function
PHP levenshtein() Function
PHP localeconv() Function
PHP ltrim() Function
PHP md5() Function
PHP metaphone() Function
PHP money_format() Function
PHP nl2br() Function
PHP nl_langinfo() Function
PHP number_format() Function
PHP ord() Function
PHP parse_str() Function
PHP print() Function
PHP print_r() Function
PHP printf() Function
PHP quoted_printable_decode() Function
PHP quoted_printable_encode() Function
PHP quotemeta() Function
PHP rawurldecode() Function
PHP rawurlencode() Function
PHP rtrim() Function
PHP setlocale() Function
PHP sha1() Function
PHP similar_text() Function
PHP soundex() Function
PHP sprintf() Function
PHP sscanf() Function
PHP str_getcsv() Function
PHP str_ireplace() Function
PHP str_pad() Function
PHP str_repeat() Function
PHP str_replace() Function
PHP str_rot13() Function
PHP str_shuffle() Function
PHP str_split() Function
PHP str_word_count() Function
PHP strcasecmp() Function
PHP strchr() Function
PHP strcmp() Function
PHP strcoll() Function
PHP strcspn() Function
PHP strip_tags() Function
PHP stripcslashes() Function
PHP stripslashes() Function
PHP stristr() Function
PHP strlen() Function
PHP strnatcasecmp() Function
PHP strnatcmp() Function
PHP strncasecmp() Function
PHP strncmp() Function
PHP strpbrk() Function
PHP strpos() Function
PHP strrchr() Function
PHP strrev() Function
PHP strripos() Function
PHP strrpos() Function
PHP strspn() Function
PHP strstr() Function
PHP strtok() Function
PHP strtolower() Function
PHP strtoupper() Function
PHP strtr() Function
PHP substr() Function
PHP substr_compare() Function
PHP substr_count() Function
PHP substr_replace() Function
PHP trim() Function
PHP ucfirst() Function
PHP ucwords() Function
PHP utf8_decode() Function
PHP utf8_encode() Function
PHP vprintf() Function
PHP vsprintf() Function
PHP wordwrap() Function