文字列の一部を取得する方法です。
「substr」「mb_substr」を使用することで、文字の一部を取得することが出来ます。
「substr」も「mb_substr」も記述方法は同じです。
substr(値, 何文字目から取り出すか, 何文字取り出すか); mb_substr(値, 何文字目から取り出すか, 何文字取り出すか);
日本語(マルチバイト文字)には「mb_substr」を使用しましょう。
第一、第二引数のみの場合
第一、第二引数のみの場合は、指定した文字以降を全て取り出します。0から数える点に注意して下さい。ちなみに第二引数は必須なので、指定しないとエラーになります。(指定しないとsubstr使う意味が無いですけど)
下記は変数xの0から数えて2文字目の c 以降を取得して表示する例です。取り出した後の変数xに変化はありません。
<?php $x = "abcdefg"; echo substr($x, 2)."<br>"; // 0から数えるので 0,1,2 → a,b,c c以降の全てを表示 echo $x; // $xに変化はありません。 ?>
第三引数を指定する場合
第三引数で、何文字取り出すかを指定することが出来ます。
下記は変数xの0から数えて3文字目 d から2文字を取得して表示する例です。
<?php $x = "abcdefg"; echo substr($x, 3, 2); // d から2文字 de を表示 ?>
後ろから取り出す場合
第二引数にマイナスの数値を指定することで、「後ろから何文字目」を指定できます。マイナスの場合は0からではなく、-1から数える事に注意して下さい。
<?php $x = "abcdefg"; echo substr($x, -3, 2); // -1から数えるので -1,-2,-3 → g,f,e eから2文字 ef を取得して表示 ?>