strpos

Find the position of the first occurrence of a substring in a string

Syntax

strpos(string $haystack, string $needle, int $offset = 0): int|false

Parameters

haystack

The string to search.

needle

The string to find.

The needle should either be explicitly cast to string, or an explicit call to chr() should be performed.

offset

If specified, search will start this number of characters counted from the beginning of the string. If the offset is negative, the search will start this number of characters counted from the end of the string.

Return

Returns the position of where the needle exists relative to the beginning of the haystack string (independent of offset). Also note that string positions start at 0, and not 1. Returns FALSE if the needle was not found.

Warning: This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the identity operator (===) for testing the return value of this function.

Examples

1 · haystack needle · string

<?

$haystack = 'CASEcase';
$needle = 's';

$return = strpos($haystack, $needle);

echo $return;

?>
6

2 · haystack needle · chr

<?

$haystack = 'CASEcase';
$needle = chr(115);

$return = strpos($haystack, $needle);

echo $return;

?>
6

3 · offset · Negative

<?

$haystack = 'CASEcase';
$needle = 's';
$offset = -4;

$return = strpos($haystack, $needle, $offset);

echo $return;

?>
6

4 · offset · Non-negative

<?

$haystack = 'CASEcase';
$needle = 's';
$offset = 4;

$return = strpos($haystack, $needle, $offset);

echo $return;

?>
6

5 · Return

<?

// use identity operator (===) instead of comparison operator (==) to test return

$haystack = 'abc';
$needle = 'a';

$return = strpos($haystack, $needle);

if($return === false)
{
    echo "not found";
}
else
{
    echo "found";
}

?>
found

stripos

addcslashes

addslashes

bin2hex

chop

chr

chunk_split

convert_uudecode

convert_uuencode

count_chars

crc32

crypt

echo

explode

fprintf

get_html_translation_table

hebrev

hebrevc

hex2bin

html_entity_decode

htmlentities

htmlspecialchars

htmlspecialchars_decode

implode

join

lcfirst

levenshtein

localeconv

ltrim

md5

md5_file

metaphone

nl_langinfo

nl2br

number_format

ord

parse_str

print

printf

quoted_printable_decode

quoted_printable_encode

quotemeta

rtrim

setlocale

sha1

sha1_file

similar_text

soundex

sprintf

sscanf

str_contains

str_ends_with

str_getcsv

str_ireplace

str_pad

str_repeat

str_replace

str_rot13

str_shuffle

str_split

str_starts_with

str_word_count

strcasecmp

strchr

strcmp

strcoll

strcspn

strip_tags

stripcslashes

stripos

stripslashes

stristr

strlen

strnatcasecmp

strnatcmp

strncasecmp

strncmp

strpbrk

strrchr

strrev

strripos

strrpos

strspn

strstr

strtok

strtolower

strtoupper

strtr

substr

substr_compare

substr_count

substr_replace

trim

ucfirst

ucwords

vfprintf

vprintf

vsprintf

wordwrap

PHP

Home Menu