stripos

(PHP 5, PHP 7, PHP 8)

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

說明

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

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

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

參數

haystack

在該字符串中查找。

needle

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

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

offset

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

返回值

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

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

警告

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

更新日志

版本 說明
7.1.0 開始支持負數的 offset。

范例

示例 #1 stripos() 范例

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

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

// 'a' 當然不在 '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";
}
?>

注釋

注意: 此函數可安全用于二進制對象。

參見

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