2. PHP 函式學習 stripos ()

hetaoren發表於2020-01-10

stripos

(PHP5, PHP7)

stripos() — 查詢字串首次出現的位置(不區分大小寫)

說明

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

返回在字串haystackneedle首次出現的數字位置。

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

引數

  • haystack:在該字串中查詢。
  • needle:注意needle可以是一個單字元或者多字元的字串。如果needle不是一個字串,那麼它將被轉換為整形並被視為字元順序值。
  • offset:可選的offset引數,從字元此數量的開始位置進行搜尋。如果是負數,就從字元末尾此數量的字元數開始統計。

返回值

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

如果未發現needle將返回 FALSE

Warning:此函式可能返回布林值 FALSE,但也可能返回等同於 FALSE 的非布林值。應使用===運算子來測試此函式的返回值。

更新日誌

版本 說明
7.1.0 開始支援負數offset

範例

Example #1

<?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() - 大小寫不敏感的查詢字串在另一個字串中首次出現的位置
  • strpos() - 查詢字串首次出現的位置
  • strrpos() - 計算指定字串在目標字串中最後一次出現的位置
  • strripos() - 計算指定字串在目標字串中最後一次出現的位置(不區分大小寫)
  • stristr() - strstr函式的忽略大小寫版本
  • substr() - 返回字串的子串
  • str_ireplace() - str_replace的忽略大小寫版本
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章