strpos

(PHP 3, PHP 4 , PHP 5)

strpos --  Find position of first occurrence of a string

Description

int strpos ( string haystack, mixed 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.

警告

這個函數可能回傳布林值 FALSE,但也可能回傳一個同於 FALSE 的非布林值,像是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().