PHP入門 文字列関数 部分文字列を取得する(mb_substr関数)

mb_substr関数は、元の文字列から部分的な文字列を取り出します。

構文:mb_substr関数

mb_substr(string $string , int $start [, ?int $length [, ?string $encoding]]):string
$string対象の文字列
$start取得開始位置(文字位置は0スタート)
$length取り出す文字数
$encoding使用する文字エンコーディング(省略時はdefault_charsetパラメータの値)

引数$lengthを省略した場合、引数$startで指定した位置から文字列の末尾までが取り出されます。引数$start、$encodingに負数を指定した場合は、文字列末尾からの文字数を表すものとみなされます。この場合、文字列の末尾は-1と数えます。

例:

<?php 
  $str = 'PHP入門プロジェクト';
  print mb_substr($str, 5,2).'<br>';        //結果:プロ(5文字目から2文字を取得)
  print mb_substr($str, 5).'<br>';          //結果:プロジェクト(5文字目以降を取得)
  print mb_substr($str, 5,-4).'<br>';       //結果:プロ(5文字目以降で、末尾4文字をあkっとしたものを取得)
  print mb_substr($str, -6,2).'<br>';       //結果:プロ(後方6文字目から2文字を取得)
特定の1文字を取り出すのであれば、ブラケット構文で「$str[4]」のように記述することもできますが、マルチバイト文字には対応していません。