substr関数

関数 substr は文字列から部分文字列を 切り出して返します。元の文字列自体は変更されません。 第一引数として文字列を、第二引数として切り出しを 開始する文字の位置を、第三引数として切り出す 文字の数を取ります。文字列の文字番号は0から 始まることに注意してください。

第二引数は負の値にすることができます - この場合、文字列の末尾から数え始め、 最後の文字の番号は -1 となります。

第三引数は省略可能です - この場合、 文字列の末尾まで切り出されます。

この関数はラテン文字(シングルバイト文字)のみを 正しく扱います。

構文

phpsubstr(string $string, int $offset, ?int $length = null): string

例

位置 1(最初の文字は番号0なので、 2文字目)から 3 文字切り出してみましょう:

php<?php
  echo substr('abcde', 1, 3);
?>

コード実行結果:

php'bcd'

例

2文字目(番号1)から文字列の末尾まで すべて切り出してみましょう:

php<?php
  echo substr('abcde', 1);
?>

コード実行結果:

php'bcde'

例

末尾から3番目と2番目の文字を切り出してみましょう。 そのために、切り出し開始位置を -3 (末尾から3番目の文字の番号)とし、 文字数を 2 と指定します:

php<?php
  echo substr('abcde', -3, 2);
?>

コード実行結果:

php'cd'

例

最後の 2 文字を切り出してみましょう。 そのために、末尾から2番目の文字の位置(-2)を指定し、 第三引数は省略します - この場合、 文字列の末尾まで切り出されます:

php<?php
  echo substr('abcde', -2);
?>

コード実行結果:

php'de'

例

最後の文字を切り出してみましょう:

php<?php
  echo substr('abcde', -1);
?>

コード実行結果:

php'e'

関連項目

  • 関数 substr_replace,
    これは文字列の一部を切り出して別の文字列に置き換えます