文字列が特定の文字列で始まるかどうかを確認する
文字列が特定の文字シーケンスで始まるかどうかを判断することは、さまざまなプログラミングにおいて不可欠です。シナリオ。一般的な使用例の 1 つは、URL 内の HTTP プロトコルの存在の確認です。この記事では、最新バージョンと従来の PHP バージョンの両方を使用した、このタスクに対する包括的なソリューションを提供します。
最新の PHP (バージョン 8 以降):
PHP 8 では、 が導入されています。 str_starts_with 関数。文字列が別の文字列で始まるかどうかを確認する便利な方法を提供します。その構文は簡単です:
str_starts_with($string, $prefix)
例:
<code class="php">$string1 = 'google.com'; $string2 = 'http://www.google.com'; var_dump(str_starts_with($string2, 'http')); // true</code>
レガシー PHP (バージョン 7 以下):
古い PHP複数のバージョンでは、substr 関数を使用して同じ目標を達成できます。 substr は文字列の一部を抽出し、最初の数文字を指定されたプレフィックスと比較できるようにします。
substr($string, 0, strlen($prefix)) === $prefix
例:
<code class="php">substr($string2, 0, 4) === "http"; // true</code>
このメソッド比較では、文字列の先頭から指定された数の文字のみが考慮されるようにします。 length 引数を変更して、より長いプレフィックスをチェックできます。
追加の考慮事項:
プロトコルを扱うときは、一致を避けるために比較が十分具体的であることを確認することが重要です。意図しない文字列。たとえば、文字列が「http」だけでなく「http://」で始まることを確認したい場合は、次を使用します。
<code class="php">substr($string, 0, 7) === "http://";</code>
これにより、比較で明示的に一致する文字列のみが一致するようになります。 「http://」で始まり、「https」や「http-protocol.com」などの他のバリエーションは除きます。
以上がPHPで文字列が特定の文字列で始まるかどうかを確認するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。