substr/mb_substr関数とは?
PHPのsubstr/mb_substr関数は、文字列の一部を切り出す関数です。
substr/mb_substr関数の概要
substr関数は、引数に指定された文字列の、指定した開始位置から指定された長さの文字列を切り出します。
mb_substr関数は、引数に指定された文字列がマルチバイト文字列である場合、その文字列の、指定した開始位置から指定された長さの文字列を切り出します。
どちらの関数も、引数に指定された文字列が空文字列の場合、または文字列の長さが0の場合、空文字列を返します。
substr/mb_substr関数の書き方
substr/mb_substr関数の書き方は、以下の通りです。
PHP
string substr(string $text, int $start, int $length);
string mb_substr(string $text, int $start, int $length, string $encoding);
引数 $text
には、切り出したい文字列を指定します。
引数 $start
には、切り出しの開始位置を指定します。開始位置は、0 から始まります。
引数 $length
には、切り出す文字列の長さを指定します。長さは、0 から始まります。
引数 $encoding
は、文字列の文字エンコーディングを指定します。省略した場合は、デフォルトの文字エンコーディングが使用されます。
substr/mb_substr関数の作成・使用方法
substr/mb_substr関数を使用するには、以下のように記述します。
PHP
$text = "Hello, world!";
$substr = substr($text, 6, 5);
echo $substr; // "world"
このコードは、文字列 $text
の、開始位置 6 から長さ 5 の文字列を切り出し、変数 $substr
に格納しています。
変数 $substr
の値は、”world” となります。
PHP
$text = "こんにちは、世界!";
$substr = mb_substr($text, 6, 5);
echo $substr; // "世界"
このコードは、文字列 $text
の、開始位置 6 から長さ 5 の文字列を切り出し、変数 $substr
に格納しています。
変数 $substr
の値は、”世界” となります。
substr/mb_substr関数のスクリプトサンプル
substr/mb_substr関数のスクリプトサンプルを以下に示します。
PHP
// 文字列の一部を切り出す
$text = "Hello, world!";
// 開始位置 6 から長さ 5 の文字列を切り出す
$substr = substr($text, 6, 5);
// 切り出した文字列を出力する
echo $substr; // "world"
// 文字列の一部を切り出す(マルチバイト文字列の場合)
$text = "こんにちは、世界!";
// 開始位置 6 から長さ 5 の文字列を切り出す
$substr = mb_substr($text, 6, 5);
// 切り出した文字列を出力する
echo $substr; // "世界"
このコードの出力は、以下の通りです。
world
世界
substr/mb_substr関数特有の事柄・注意点
substr/mb_substr関数は、文字列の一部を切り出す関数ですが、以下の点に注意が必要です。
- 切り出しの開始位置は、0 から始まります。
- 切り出す文字列の長さは、0 から始まります。
- 文字列の長さを超える長さで切り出した場合、切り出された文字列の長さは、文字列の長さとなります。
- 切り出しの開始位置が、文字列の長さを超える場合、切り出された文字列は、空文字列となります。
substr/mb_substr関数のまとめ
substr/mb_substr関数は、文字列の一部を切り出す関数です。
開始位置と長さを指定することで、任意の文字列を切り出すことができます。