(PHP 4, PHP 5, PHP 7)php
strpos — 查找字符串首次出現的位置安全
mixed strpos ( string $haystack
, mixed $needle
[, int $offset
= 0 ] )函數
返回 needle
在 haystack
中首次出現的數字位置。測試
haystack
spa
在該字符串中進行查找。.net
needle
code
若是 needle
不是一個字符串,那麼它將被轉換爲整型並被視爲字符的順序值。對象
offset
ip
若是提供了此參數,搜索會從字符串該字符數的起始位置開始統計。和 strrpos()、 strripos()不同,這個偏移量不能是負數。字符串
返回 needle 存在於 haystack
字符串起始的位置(獨立於 offset)。同時注意字符串位置是從0開始,而不是從1開始的。
若是沒找到 needle,將返回 FALSE
。
Warning
此函數可能返回布爾值 FALSE
,但也可能返回等同於 FALSE
的非布爾值。請閱讀 布爾類型章節以獲取更多信息。應使用 === 運算符來測試此函數的返回值。
Example #1 使用 ===
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// 注意這裏使用的是 ===。簡單的 == 不能像咱們期待的那樣工做,
// 由於 'a' 是第 0 位置上的(第一個)字符。
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";
}
?>
Example #2 使用 !==
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// 使用 !== 操做符。使用 != 不能像咱們期待的那樣工做,
// 由於 'a' 的位置是 0。語句 (0 != false) 的結果是 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 使用位置偏移量
<?php
// 忽視位置偏移量以前的字符進行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
?>
Note: 此函數可安全用於二進制對象。