PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPで文字列に特定の部分文字列が含まれているか確認する方法

文字列に特定の部分文字列(サブストリング)が含まれているかどうかを確認するには、PHPの「strlen」関数と「strpos」関数を組み合わせて使用します。「strlen」は文字列全体の長さを取得する関数で、「strpos」は部分文字列が文字列内で最初に出現する位置を検索する関数です。

サンプルコード

<?php
    $str_1 = "thisisasample";
    $str_2 = "asample";
    if (strpos($str_1, $str_2) >= 0 && strpos($str_1, $str_2) < strlen($str_1))
        echo("The substring is present within the string.");
    else
        echo("The substring is not present within the string.");
?>

実行結果

The substring is present within the string.

このコードでは、まず2つの文字列を定義し、「strpos」関数を使って2つ目の文字列が1つ目の文字列のどの位置に出現するかを調べています。その結果を1つ目の文字列の長さと比較することで、部分文字列が含まれているかどうかを判定し、対応するメッセージを出力します。

補足:PHP 8以降では「str_contains」が便利

PHP 8.0以降では、より直感的に記述できる「str_contains」関数が利用できます。この関数は、部分文字列が含まれていれば true、含まれていなければ false を返すため、位置と文字列長を比較する必要がありません。

<?php
    $str_1 = "thisisasample";
    $str_2 = "asample";
    if (str_contains($str_1, $str_2))
        echo("The substring is present within the string.");
    else
        echo("The substring is not present within the string.");
?>

なお、「strpos」を使用する際の注意点として、部分文字列が文字列の先頭(位置0)で見つかった場合、戻り値は「0」になります。PHPでは 0 は false として評価されるため、単純に if (strpos(...)) と書くと誤判定を招く可能性があります。判定には「!== false」などの厳密な比較を使うことが推奨されます。

  1. JavaScriptで文字列に部分文字列が含まれるか判定する方法|search()メソッドの使い方

    JavaScriptで部分文字列の存在を確認するには? JavaScriptで「ある文字列の中に特定の部分文字列(サブストリング)が含まれているか」を確認したい場合、Stringオブジェクトのsearch()メソッドを使うのが一般的な方法の一つです。 search()メソッドは、引数に渡した文字列(または正規表現)が対象の文字列内で最初に現れる位置(インデックス)を返します。見つからなかった場合は -1 を返すため、この戻り値を判定条件として使うことで、部分文字列の有無を簡単にチェックできます。 search()メソッドを使ったサンプルコード 次のコードは、文字列「Tutorialspoint

  2. Swiftで文字列が別の文字列を含んでいるか確認する方法

    Swiftである文字列に別の文字列が含まれているかどうかを確認するには、2つの異なる文字列が必要です。1つは検索対象となる文字列、もう1つはその中に特定の文字列が含まれているかを調べる元となる文字列です。 ここでは、確認したい文字列を「point」、全体の文字列を「TutorialsPoint」、そして別の文字列として「one two three」を使用して説明します。Playgroundでこれらの文字列を使って実際に確認してみましょう。 この確認は、以下に示す2つの方法で行うことができます。まずは3つの異なる文字列を作成します。 var completeStr1 = Tutorials po