stripos

(PHP 5, PHP 7, PHP 8)

stripos查找字符串首次出現(xiàn)的位置(不區(qū)分大小寫)

說明

stripos(string $haystack, string $needle, int $offset = 0): int

返回在字符串 haystackneedle 首次出現(xiàn)的數(shù)字位置。

strpos() 不同,stripos() 不區(qū)分大小寫。

參數(shù)

haystack

在該字符串中查找。

needle

注意 needle 可以是一個單字符或者多字符的字符串。

如果 needle 不是一個字符串,那么它將被轉(zhuǎn)換為整型并被視為字符順序值。

offset

可選的 offset 參數(shù),從字符此數(shù)量的開始位置進(jìn)行搜索。 如果是負(fù)數(shù),就從字符末尾此數(shù)量的字符數(shù)開始統(tǒng)計。

返回值

返回 needle 存在于 haystack 字符串開始的位置(獨(dú)立于偏移量)。同時注意字符串位置起始于 0,而不是 1。

如果未發(fā)現(xiàn) needle 將返回 false。

警告

此函數(shù)可能返回布爾值 false,但也可能返回等同于 false 的非布爾值。請閱讀 布爾類型章節(jié)以獲取更多信息。應(yīng)使用 === 運(yùn)算符來測試此函數(shù)的返回值。

更新日志

版本 說明
7.1.0 開始支持負(fù)數(shù)的 offset。

范例

示例 #1 stripos() 范例

<?php
$findme    
'a';
$mystring1 'xyz';
$mystring2 'ABC';

$pos1 stripos($mystring1$findme);
$pos2 stripos($mystring2$findme);

// 'a' 當(dāng)然不在 'xyz' 中
if ($pos1 === false) {
    echo 
"The string '$findme' was not found in the string '$mystring1'";
}

// 注意這里使用的是 ===。簡單的 == 不能像我們期望的那樣工作,
// 因為 'a' 的位置是 0(第一個字符)。
if ($pos2 !== false) {
    echo 
"We found '$findme' in '$mystring2' at position $pos2";
}
?>

注釋

注意: 此函數(shù)可安全用于二進(jìn)制對象。

參見

  • mb_stripos() - 大小寫不敏感地查找字符串在另一個字符串中首次出現(xiàn)的位置
  • strpos() - 查找字符串首次出現(xiàn)的位置
  • strrpos() - 計算指定字符串在目標(biāo)字符串中最后一次出現(xiàn)的位置
  • strripos() - 計算指定字符串在目標(biāo)字符串中最后一次出現(xiàn)的位置(不區(qū)分大小寫)
  • stristr() - strstr 函數(shù)的忽略大小寫版本
  • substr() - 返回字符串的子串
  • str_ireplace() - str_replace 的忽略大小寫版本