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

PHPのstristr()関数とは?使い方とサンプルコードをわかりやすく解説

PHPのstristr()関数は、ある文字列の中から指定した文字列が最初に出現する箇所を検索するための関数です。検索結果として、マッチした部分以降の文字列(または前の部分)を取得できます。

ポイント: stristr()関数は大文字と小文字を区別しません。大文字・小文字を区別して検索したい場合は、strstr()関数を使用してください。

構文

stristr(str, search, before_search)

パラメータ

  • str − 検索対象となる元の文字列を指定します。

  • search − 検索したい文字列を指定します。

  • before_search − 真偽値(boolean)で、デフォルトは「false」です。「true」を設定すると、searchパラメータが最初に出現する位置よりも前の部分を返します。

戻り値

stristr()関数は、マッチした部分文字列を返します。該当する文字列が見つからなかった場合は「false」を返します。

例1:文字列が含まれているかどうかを判定する

以下は、特定の文字列が含まれていない場合にメッセージを表示する例です。

<?php
$mystr = 'Tom Hanks!';
if(stristr($mystr, 'Tim') === FALSE) {
    echo 'Tim is not in the string!';
}
?>

出力

Tim is not in the string!

この例では、「Tom Hanks!」の中に「Tim」は存在しないため、比較演算子「===」でfalseと判定され、ifブロック内の処理が実行されています。

例2:before_searchパラメータを使って前半部分を取得する

第3引数に「true」を渡すと、検索語句より前の部分だけが返されます。

<?php
echo stristr("Demo text!", "TEXT", true);
?>

出力

Demo

この例では、検索語句「TEXT」は大文字で指定されていますが、stristr()関数は大文字・小文字を区別しないため、文中の「text」とマッチし、その前の部分である「Demo」が出力されます。

まとめ

stristr()関数は、大文字・小文字を意識せずに文字列を柔軟に検索・抽出できる便利な関数です。文字列の存在確認や、特定のキーワード以前の部分文字列の切り出しなど、さまざまな場面で活用できます。類似の関数として、大文字・小文字を区別するstrstr()や、位置情報を返すstripos()なども併せて覚えておくと良いでしょう。

  1. PHPのstr_rot13()関数とは?文字列のROT13変換の使い方を解説

    PHPのstr_rot13()関数は、文字列に対してROT13変換を適用するための関数です。ROT13とは、アルファベットの各文字を13文字分シフトさせるシンプルな暗号化方式で、A→N、B→Oのように変換されます。ROT13には「自分自身が逆変換になる」という特徴があります。つまり、ROT13でエンコードした文字列に再度ROT13を適用すると、元の文字列に戻ります。また、アルファベット以外の文字(数字や記号など)はそのまま維持されます。構文str_rot13(str)パラメータstr − ROT13変換を適用する対象の文字列を指定します。戻り値str_rot13()関数は、ROT13変換が適用

  2. PHPのstr_repeat()関数とは?文字列を繰り返す方法を解説

    PHPのstr_repeat()関数は、指定した文字列を指定回数だけ繰り返して出力するための組み込み関数です。区切り線やパディング、テスト用のダミーデータ生成など、さまざまな場面で活用できます。基本構文str_repeat(str_to_repeat, multiplier)パラメータstr_to_repeat − 繰り返したい対象の文字列を指定します。multiplier − 文字列を繰り返す回数を指定します。0以上の整数である必要があります。0を指定した場合は空文字列が返されます。戻り値str_repeat()関数は、繰り返し処理を行った結果の文字列を返します。使用例以下は、ドル記号「$」