stripos

(PHP 5, PHP 7, PHP 8)

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

說(shuō)明

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

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

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

參數(shù)

haystack

在該字符串中查找。

needle

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

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

offset

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

返回值

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

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

警告

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

更新日志

版本 說(shuō)明
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'";
}

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

注釋

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

參見(jiàn)

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