substr

(PHP 3, PHP 4, PHP 5)

substr -- 文字列の一部分を返す

説明

string substr ( string string, int start [, int length] )

substr() は文字列 string の、start で指定された 位置から length バイト分の文字列を 返します。

start が正の場合、返される文字列は、 string の 0 から数えて start番目から始まる文字列となります。 例えば、文字列'abcdef'において位置 0にある文字は、'a'であり、 位置2には'c'があります。

例 1. substr() の基本的な使用法

<?php
echo substr('abcdef', 1);     // bcdef を返す
echo substr('abcdef', 1, 3);  // bcd を返す
echo substr('abcdef', 0, 4);  // abcd を返す
echo substr('abcdef', 0, 8);  // abcdef を返す
echo substr('abcdef', -1, 1); // f

// 文字列中の 1 文字にアクセスすることも
// "中括弧" を使用することで可能
$string = 'abcdef';
echo
$string{0};                 // a を返す
echo $string{3};                 // d を返す
echo $string{strlen($string)-1}; // f を返す

?>

start が負の場合、返される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。

例 2. 負のstartを使用

<?php
$rest
= substr("abcdef", -1); //  "f" を返す
$rest = substr("abcdef", -2); // "ef" を返す
$rest = substr("abcdef", -3, 1); // "d" を返す
?>

length が指定され、かつ正である場合、 返される文字列は start (string の長さに依存します) から数えてlength文字数分となります。 もし stringstart の文字列長より小さいもしくは等しい場合、FALSE が返されます。

length が指定され、かつ負である場合、 string の終端から多くの文字が省略されます (start が負の場合、 開始位置は文字列の終端を過ぎているので) 。 もし start が切り出し位置を超える場合、 空文字が返されます。

例 3. 負のlengthを使用

$rest = substr("abcdef", 0, -1);  // "abcde"を返す
$rest = substr("abcdef", 2, -1);  // "cde"を返す
$rest = substr("abcdef", 4, -4);  // ""を返す
$rest = substr("abcdef", -3, -1); // "de"を返す

strrchr()substr_replace()preg_match()trim()mb_substr() および wordwrap() も参照ください。