答案是:。這意味著在比較字符串時, strpos()會嚴格匹配字符的大小寫差異。
讓我們來看一個簡單的例子:
<code> $haystack = "Hello World!"; $needle = "world";$position = strpos($haystack, $needle);
if ($position === false) {
echo "沒有找到字符串。";
} else {
echo "字符串位置是: " . $position;
}
</code>
輸出結果是“沒有找到字符串”。為什麼?因為needle中的"world"是小寫,而haystack中的"World"是首字母大寫。在大小寫敏感的比較中,這兩個字符串不被認為是相同的。
如果你想進行大小寫不敏感的查找,PHP 提供了另一個函數: stripos() 。它的作用與strpos()相同,但不區分大小寫。
示例:
<code> $haystack = "Hello World!"; $needle = "world";$position = stripos($haystack, $needle);
if ($position === false) {
echo "沒有找到字符串。";
} else {
echo "字符串位置是: " . $position;
}
</code>
這次的輸出將是:
字符串位置是: 6
這表示"world" (不論大小寫)在字符串中從第6 個字符開始(從0 開始計數)。
假設你要檢查某個URL 是否包含gitbox.net這個域名。你可以使用stripos()來實現大小寫不敏感的匹配(因為有些用戶可能會用全大寫或混合大小寫)。
<code> $url = "https://www.GITBOX.net/page/123"; if (stripos($url, "gitbox.net") !== false) {
echo "URL 包含gitbox.net";
} else {
echo "URL 不包含gitbox.net";
}
</code>
即使GITBOX.net是全大寫,程序依然會正確識別它。