PHP

【PHPの基礎】文字列を一部を取得するsubstr関数をマスターしよう!

substr関数
今回解決できる内容!

✔️substr関数とは

✔️substr関数の使い方とは?

✔️substr関数とmb_substr関数の違いは?

今回はsubstr関数について学びましょう!

関数の基礎は下記の記事を参考にして下さい!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

substr関数の使い方

substr関数とは文字列中の1部を切り出す際に使用する関数です。実行する指定した文字列を返します。

下記のように記述します。

substr( 対象文字列, 開始位置 , 文字数);

第1引数:抽出対象の文字列の指定

第2引数:抽出する文字列の開始位置を指定(1文字目を0とする)

第3引数:抽出する文字列の長さを指定

第三引数の指定がなかった場合、第二因数で指定した開始位置以降のを全ての文字列を抽出負の数を指定した場合は後ろから数えた位置まで切り出します

実際に使ってみましょう!

サンプルコード

<?php

$str='abcdefg';

echo substr($str,2);
echo '<br>';

echo substr($str,1,4);
echo '<br>';

echo substr($str,-2);
echo '<br>';

?>

結果は下記のようになります。

コード解説

1つ目は抽出の開始位置が「2」の為、cからgまでが表示されます。

2つ目は抽出の開始位置が「1」で、抽出文字数が「4」の為、「bcde」が表示されます。

3つ目は負の数が指定されているので、末尾から数えて’2’文字を抽出するので、「fg」が表示されます。

substr関数とmb_substr関数の違い

mb_substr関数も、指定した文字列の一部を取得する関数です。

基本的にはsubstr関数と同じですが、こちらは文字列の文字コードの指定を行うことができます。つまりマルチバイト文字列(ひらがなや漢字といった日本語の文字列)を抽出できます!指定がない場合は内部エンコーディングを使用します。

書き方は下記の通りです。

mb_substr( 対象文字列, 開始位置 ,文字数 ,エンコーディング);

実際に例を確認してみましょう!

サンプルコード

<?php

$str = "私はサラプロです";
echo mb_substr($str,1,3,"UTF-8");

?>

表示結果は下記の通りです。

コード解説

抽出の開始位置が「1」でそこから「3」文字取る為、「はサラ」が表示されます。

文字コードはUTF-8です。

独学がツラくなった方へ

まとめ

今回説明した内容

✅substr関数の使い方

✅substr関数とmb_substr関数の違い

今回は以上になります。

substr関数は実際の開発でもよく使われます。

是非今回でマスターしましょう!

PHPにおける文字列操作に関しては下記の記事を参考にして下さい!

文字列操作のまとめ
【PHPの基礎】PHPにおける文字列操作のまとめ!(連結|検索|置換|分割|切り出し) 今回解決できる内容 ✔️PHPにおける文字列操作をまとめて知りたい! 今回はPHPにおける...