substr

関数の概要

PHPのsubstr関数は、文字列の一部を取り出すための関数です。指定した開始位置から、任意の長さだけ切り出して部分文字列を取得できます。例えば、長い文章の一部だけを抜き出したい場合や、文字列の先頭や末尾の一部を取得したいときに便利です。

パラメータの説明

  • string $string:部分文字列を取得したい元の文字列。
  • int $start:切り出し開始位置。0から始まり、負の値を指定すると文字列の末尾から数えます。
  • int|null $length(省略可能):切り出す文字数。省略すると開始位置から文字列の終わりまで取得します。負の値を指定すると、末尾から指定した数だけ除いた部分まで取得します。

戻り値

指定した開始位置から長さ分の部分文字列を返します。元の文字列よりも長い長さを指定した場合、または開始位置が文字列の長さを超えている場合は、空文字列が返ることがあります。

使用例

基本的な使い方

$text = 'Hello, World!';
echo substr($text, 7, 5); // 出力: World

この例では、「Hello, World!」の7文字目(0始まりで「W」)から5文字分を切り出して「World」を取得しています。

開始位置が負の値の場合

$text = 'abcdefg';
echo substr($text, -3, 2); // 出力: ef

文字列の末尾から3文字目から2文字分を切り出しています。末尾から数えるので「e」と「f」が取得されます。

長さを省略した場合

$text = 'こんにちは世界';
echo substr($text, 5); // 出力: 世界

長さを指定しない場合は、開始位置から文字列の終わりまで全て切り出します。この例は「こんにちは世界」の5文字目から最後まで取得しています。

関連する関数

  • mb_substr:マルチバイト文字(日本語など)に対応したsubstr関数。
  • strpos:文字列内の特定の文字や文字列の位置を検索する。
  • strlen:文字列の長さを取得する。

まとめ

PHPのsubstr関数は、文字列の一部を簡単に取り出すことができる便利な関数です。開始位置や長さを指定することで自由に切り出せるため、文字列操作では非常によく使われます。ただし、日本語などのマルチバイト文字列を扱う場合は、mb_substrの使用を検討してください。