Returns the numeric position of the first occurrence of
needle
in the haystack
string. Unlike the strrpos() before PHP 5, this
function can take a full string as the needle
parameter and the entire string will be used.
Parameters
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
The optional offset
parameter allows you
to specify which character in haystack
to
start searching. The position returned is still relative to the
beginning of haystack
.
Return Values
Returns the position as an integer. If needle
is
not found, strpos() will return booleanFALSE.
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.
// Note our use of ===. Simply == would not work as expected // because the position of 'a' was the 0th (first) character. if ($pos === false) { echo "The string '$findme' was not found in the string '$mystring'"; } else { echo "The string '$findme' was found in the string '$mystring'"; echo " and exists at position $pos"; } ?>
// The !== operator can also be used. Using != would not work as expected // because the position of 'a' is 0. The statement (0 != false) evaluates // to false. if ($pos !== false) { echo "The string '$findme' was found in the string '$mystring'"; echo " and exists at position $pos"; } else { echo "The string '$findme' was not found in the string '$mystring'"; } ?>
Example #3 Using an offset
<?php // We can search for the character, ignoring anything before the offset $newstring = 'abcdef abcdef'; $pos = strpos($newstring, 'a', 1); // $pos = 7, not 0 ?>