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

PHPのiconv_strrpos()関数で文字列内の最後の出現位置を見つける方法

PHPのiconv_strrpos()関数は、文字列(干し草の山)の中から指定した部分文字列(針)が最後に出現する位置を見つけるために使用されます。つまり、この関数は検索対象の文字列全体のうち、部分文字列が最後に現れる文字位置を数値で返します。

構文

string iconv_strrpos(string $haystack, str $needle, str $encoding)

パラメータ

iconv_strrpos()関数は、$haystack$needle$encodingの3つのパラメータを受け取ります。

  • $haystack − 検索対象となる文字列全体を表します。

  • $needle − 文字列全体の中から検索したい部分文字列を指定します。

  • $encoding − このパラメータが省略された場合、またはnullの場合、文字列はiconv.internal_encodingでエンコードされているとみなされます。

戻り値

iconv_strrpos()は、文字列内で部分文字列が最後に出現する位置を数値で返します。部分文字列が見つからなかった場合は、Falseを返します。

注意: PHP 8.0以降ではencodingパラメータがnull許容型になり、PHP 7.1以降ではiconv_strrpos()関数が負のオフセットをサポートするようになりました。

使用例

<?php
   # UTF-8文字列
   $int = iconv_strrpos("hello world!","d", "UTF-8");
   // 文字位置を数値で返します
   var_dump($int);
?>

出力結果

int(9)

この例では、文字列「hello world!」の中で文字「d」が最後に出現する位置が9番目であるため、結果としてint(9)が返されます。マルチバイト文字を含む文字列を扱う場合も、エンコーディングを明示的に指定することで正確な文字位置を取得できます。

  1. PHPのucfirst()関数とは?使い方とサンプルコードを解説

    ucfirst() 関数は、文字列の最初の1文字を大文字に変換するために使用されるPHPの組み込み関数です。それ以外の文字は元のまま維持されます。 構文 ucfirst(str) パラメータ str − 先頭の文字を大文字に変換したい対象の文字列を指定します。 戻り値 ucfirst() 関数は、最初の文字が大文字に変換された文字列を返します。元の文字列そのものは変更されない点に注意してください。 使用例 以下は ucfirst() 関数を使った基本的なコード例です。 <?php echo ucfirst(demo); ?> 出力結果 Demo 補足:マルチバ

  2. PHPのstrripos()関数とは?文字列の最後の出現位置を取得する方法

    strripos()関数は、ある文字列の中で別の文字列が最後に出現する位置を検索するためのPHPの組み込み関数です。 注意 − この関数は大文字と小文字を区別しません(case-insensitive)。大文字小文字を区別して検索したい場合は、strrpos()関数を使用してください。 構文 strripos(str, find, begin) パラメータ str − 検索対象となる文字列。必須。 find − 検索したい文字列。必須。 begin − 検索を開始する位置。省略可能。 戻り値 strripos()関数は、文字列内で指定した文字列が最後に出現する位置を数値で返します。文字