【PHP】 substr関数/mb_substr関数の使い方(文字列の一部を取得する)

アイキャッチsubstr PHP
PHP
この記事は約3分で読めます。
Recommended Articles

【PHP】 substr関数/mb_substr関数(文字列の一部を取得する)

substr関数の使い方(文字列の一部を取得する)

php3~ で使用できます。

substr関数 : 書式
substr(文字列, 開始位置 [, 取得するサイズ])

戻り値:抽出された文字列
 substr関数は文字列の一部を取得します。OS名の先頭3文字が「Win」であればWindows用の処理をしたり、4桁の年数の下2桁を取得するなど、幅広く利用されています。
「substr(x, 0, n)」といった記述の「文字列xの先頭からn文字を取り出す」という使われ方が多くされています。

 第3引数である「取得する文字サイズ」を省略すると、指定した位置以降の文字列が取得できます。

substr関数 : 使用例
  • PHPのメジャーバージョンを取得する
    echo substr(PHP_VERSION, 0, 1); →「7」を取得
  • 拡張子を除くファイル名を取得する
    $str = "abc.php";
    echo substr($str, 0, srpos($str, ".")); →「abc」を出力

    <解説>
     strpos関数で、ファイル名($str)を検索して、最初に見つかった「.」位置を取得し、第3引数にセットしています。

【PHP・文字列関数】文字列を検索する関数の使い方
stristr/strstr/strrpos/strpos/strrchr/mb_strrpos/mb_strpos関数は、すべて文字列を検索する関数です。それぞれの関数の違いについて、使用例を用いながら解説します。
  • 年月を取得する
    $str = "2004/08/23";
    echo substr($str, 5, 5); →「08/23」を出力

mb_substr関数の使い方(マルチバイト文字列の一部を取得する)

php4.0.6~ で使用できます。

mb_substr関数 : 書式
mb_substr(文字列, 開始位置 [, 取得する文字数 [, 文字コード]])

戻り値:抽出した文字列
 mb_substr関数はマルチバイト文字列の一部を取得します。上述の、文字列の一部を取得するsubstr関数と同じように、抽出位置の1文字目は0から始まります。また、取得するサイズは文字数で指定します。
mb_substr関数 : 使用例
  • マルチバイト文字列の一部を取得する
    echo mb_substr("東京都渋谷区", 3, 2); →「渋谷」を出力
    echo mb_substr("東京都渋谷区", 3); →「渋谷区」を出力
    echo mb_substr("東京都渋谷区", 3, 3, "EUC-JP"); →「渋谷区」を出力
    echo mb_substr("東京都123", 2, 4); →「都123」を出力
  • マルチバイト文字列の左端を取得する
    echo mb_substr("日本語", 0, 1); →「日」を出力

関連リンク

PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。
Recommended Articles