strpos

(PHP 3, PHP 4 , PHP 5)

strpos --  Find position of first occurrence of a string

Description

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

Returns the numeric position of the first occurrence of needle in the haystack string. Unlike the strrpos(), this function can take a full string as the needle parameter and the entire string will be used.

If needle is not found, strpos() will return boolean FALSE.

警告

这个函数可能返回 Boolean FALSE,也可能返回一个与 FALSE 相等地非 Boolean 值,比如 0 或者 "" 。请参阅 Booleans 的有关章节以获取更多信息。请使用 === 操作符 来测试该函数的返回值。

例子 1. strpos() examples

<?php
$mystring
= 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// 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";
}

// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>

If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.

The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack.

See also strrpos(), stripos(), strripos(), strrchr(), substr(), stristr(), and strstr().