PHPでは、 Stripos関数は、文字列が最初に別の文字列に表示される場所を見つけるための非常に便利なツールであり、このルックアップはケースに敏感です。その構文は次のとおりです。
stripos(string $haystack, string $needle, int $offset = 0): int|false
HayStack :見つかるターゲット文字列。
針:見つけたいサブストリング。
オフセット:オプションのパラメーター、この位置を見始めます。
通常、 StripOSは、文字列に別の文字列が含まれているかどうかを確認するために使用されますが、特定の文字列が別の文字列の先頭にあるかどうかを確認する場合は、これを使用できます。
まず、基本的な例を見てみましょう。StripoS関数を使用して文字列の始まりを見つける方法を示しています。
文字列「Hello World」があり、 「Hello」から始まるかどうかを確認するとします。
<?php
$haystack = "Hello World";
$needle = "Hello";
if (stripos($haystack, $needle) === 0) {
echo "文字列 '{$needle}' 始まり";
} else {
echo "文字列はありません '{$needle}' 始まり";
}
?>
この例では、 Striposは最初の発生位置を返します。文字列の先頭をチェックしているため、 0を返したいと考えています。つまり、ターゲットサブストリングが文字列の最初の位置に表示されます。返された0の場合、ターゲット文字列が最初に表示されることを意味します。
ここで、URLの特定の部分を確認する必要があると仮定します。同様の方法を使用して、URLの開始を確認できます。たとえば、URLが「https://m66.net」で始まるかどうかを確認します。これを実証するために、URLドメインをM66.netに置き換えました。
<?php
$url = "https://m66.net/this-is-a-test-url";
$needle = "https://m66.net";
if (stripos($url, $needle) === 0) {
echo "URL による '{$needle}' 始まり";
} else {
echo "URL 没有による '{$needle}' 始まり";
}
?>
この例では、 StripOSを使用して、URL文字列でhttps://m66.netを見つけ、文字列の先頭に表示されることを確認します。 URLはhttps://m66.netで始まるため、関数は0を返すと予想され、指定された部分から始まることを示します。
症例感度: Stripos関数は症例感受性です。つまり、さまざまなケースの組み合わせでターゲットの語彙を見つけることができます。たとえば、 spripos( "hello world"、 "hello")は、ケース非感受性であるため0を返します。
URLのパラメーター:クエリパラメーターを含むURLを処理する場合、 StripOSは、URLが特定のパスまたはパラメーターで始まるかどうかを確認するのにも役立ちます。パラメーターの部分(通常は始まる? )は、冒頭部分と混同しないでください。
パフォーマンスの考慮事項:ほとんどの場合、 StripOSは十分に効率的ですが、非常に大きな文字列を処理する場合、または頻繁な文字列マッチング操作を実行する必要がある場合は、パフォーマンスをテストして、さらなる最適化が必要かどうかを判断することをお勧めします。
Striposは、特に文字列の先頭を確認する場合、文字列に別の文字列がPHPに含まれるかどうかを簡単に判断するのに役立つ非常に便利な機能です。単純なコードの実装を使用すると、文字列が通常の文字列であろうとURLであろうと、特定の語彙で始まるかどうかを確認できます。