PHP 手册
上一页 |  | 下一页

# 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() before PHP 5, 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` 或者 ""。请参阅布尔类型章节以获取更多信息。应使用 === 运算符来测试本函数的返回值。

> 注意: 本函数可安全用于二进制对象。

例 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 beginning of `haystack`.

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

上一页 | 起始页 | 下一页
strpbrk | 上一级 | strrchr