PHP strpos 函式

PHP strpos 函式用來找出關鍵字符在原始字串中所在的數字位置,例如用 strpos 函示查詢字母 e 在 Hello 中的數字位置,將返回 1 這樣的結果,第一個字母從 0 開始計算。strpos 函式會自動判斷關鍵字符的英文字母大小寫,也就是說 A 與 a 在 strpos 函式的認定下,是不同的字符,若您想要製作「不區分英文字母大小寫」的效果,請用 stripos 函式來判斷關鍵字符。

PHP strpos 函式基本語法

int strpos( string $haystack , string $needle , int $offset )


strpos 函式的第一個參數 $haystack 代表的是原始字串,也就是即將被檢視的字串,必填項目,第二個參數 $needle 則是關鍵字符,strpos 函式會根據 $needle 去查詢 $haystack 是否含有相符合的關建字串,如果有則反回所在的數字位置(開始字符從 0 起始計算),如果沒有相符合的字符,則反回 false,或是與 false 等值的非 Boolean 值。第三個參數 $offset 是選填項目,用來指定要從哪個位置開始算,也稱為偏移量,返回的結果位置是相對 $haystack 的起始位置而言,請參考範例二。

PHP strpos 函式範例一
<?php
$NewString='Welcome to wibibi.Have a good day.';
$FindKey='w';
$TryStrpos=strpos('Welcome to wibibi.Have a good day.','w');

if($TryStrpos === false){
  echo 'no find';
}else{
  echo '關鍵字符 w 在原始字串的第'.$TryStrpos.'位置';
}
?>
以上範例輸出結果
關鍵字符 w 存在於原始字串中,且其在第11位置
在 if ...else 條件判斷中,我們用了 ($TryStrpos === false) 這樣的寫法,主要目的是避免出現非 Boolean 值而產生的錯誤判斷。由於 strpos 函式會自動區分大小寫,所以輸出結果可以發現小寫 w 字母在第 11 個位置,而不是第 0 個位置。

PHP strpos 函式範例二、使用偏移量
<?php
echo strpos('Welcome to Wibibi.Have a good day.','W').'<br>';
echo strpos('Welcome to Wibibi.Have a good day.','W',2);
?>
以上範例輸出結果
0
11
第一次輸出的結果並未使用偏移量參數,strpos 函式判斷出第一個大寫英文字母 W 位置在 0 處,第二次輸出時,strpos 函式加上了偏移量參數,所以自動跳過了第一個英文字母 W,找到第二個 W,相對於原始字串的起始位置,第二個 W 在第 11 位置。

相關主題研究
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012