答えは次のとおりです。これは、strpos()が文字列を比較するときに文字のケースの違いに厳密に一致することを意味します。
簡単な例を見てみましょう:
<Code> $ HayStack = "Hello World!"; $ edele = "world";$ position = strpos($ haystack、$ edele);
if($ position === false){
エコー「文字列は見つかりません。」;
} それ以外 {
エコー「文字列位置は:」です。 $ position;
}
</code>
出力の結果は「文字列が見つかりません」です。なぜ?なぜなら、針の「世界」は小文字であり、干し草の山の「世界」は大文字であるからです。ケースに敏感な比較では、2つの文字列は同一とは見なされません。
ケースに依存しない検索を行いたい場合、PHPは別の関数を提供します: spripos() 。 Strpos()と同じように機能しますが、ケース非感受性です。
例:
<Code> $ HayStack = "Hello World!"; $ edele = "world";$ position = spripos($ haystack、$ edele);
if($ position === false){
エコー「文字列は見つかりません。」;
} それ以外 {
エコー「文字列位置は:」です。 $ position;
}
</code>
今回は出力が次のとおりです。
文字列位置はです: 6
これは、「世界」 (上限と小文字に関係なく)が、文字列の6番目の文字(0からカウント)から始まることを意味します。
URLにドメイン名gitbox.netが含まれているかどうかを確認するとします。 StripOS()を使用して、ケースに依存しないマッチングを実現できます(一部のユーザーは完全または混合ケースを使用する可能性があるため)。
<Code> $ url = "https://www.gitbox.net/page/123"; if(spripos($ url、 "gitbox.net")!== false){
echo "urlにはgitbox.net"が含まれています。
} それ以外 {
echo "urlにはgitbox.net"が含まれていません」;
}
</code>
gitbox.netが完全に資本化されていても、プログラムはそれを正しく認識します。