PHP 文字列の一部を取得するサンプル(mb_substr/substr)

PHPの文字列の一部を取得するサンプルです。
mb_substr関数とsubstr関数を使用します。

確認環境
・PHP 7.2.8
・XAMPP 7.2.8
・Windows 10

目次

mb_substr関数(マルチバイト文字に対応)

string mb_substr ( 文字列 , 開始位置 [, 長さ  [, エンコーディング ]] )
  • 1つめの引数の文字列に対して、2つめの引数の「開始位置」から3つめの「長さ」で文字列を取得します。
  • 日本語のひらがなや漢字などのマルチバイト文字に対応しています。
  • 開始位置の最初は0から始まります。
  • 開始位置がマイナスの場合は、文字列の後ろから数えます。
  • 引数の文字数を省略した場合は、文字列の最後まで取得します。
  • エンコーディングを省略した場合は内部文字エンコーディングを使用します。
  • 以下は、PHPマニュアルのmb_substr関数のリンクです。
    http://php.net/manual/ja/function.mb-substr.php

コード

mb_substr関数のサンプルです。

<?php

$a = "あいうえお";

print mb_substr($a,0,1);//あ
print mb_substr($a,1,1);//い
print mb_substr($a,2,1,"UTF-8");//う

print mb_substr($a,0,3);//あいう

print mb_substr($a,2,2);//うえ

?>

5~7行目は、指定の位置から1文字取得しています。
7行目は、4つめの引数に文字エンコーディングのUTF-8を指定しています。
9行目は、最初の文字「あ」から3文字取得しています。
11行目は、途中にある文字の「う」から2文字取得しています。

 

substr関数

string substr ( 文字列 , 開始位置 [長さ ] )
  • 1つめの引数の文字列に対して、2つめの引数の「開始位置」から3つめの引数の「長さ」で文字列を取得します。
  • 日本語のひらがなや漢字などのマルチバイト文字に対応していません。
    →mb_substr関数を使用して下さい。
  • 開始位置の最初は0から始まります。
  • 開始位置がマイナスの場合は、文字列の後ろから数えます。
  • 以下は、PHPマニュアルのsubstr関数のリンクです。
    http://php.net/manual/ja/function.substr.php

コード

substr関数のサンプルです。

<?php

$a = "abcde";

print substr($a,0,1);// a
print substr($a,1,1);// b
print substr($a,2,1);// c

print substr($a,0,3);//abc

print substr($a,2,2);//cd

?>

5~7行目は、指定の位置から1文字取得しています。
9行目は、最初の文字から3文字取得しています。
11行目は、途中にある文字から2文字取得しています。

関連の記事

PHP 文字列が一致するか比較するサンプル(strcmp)
PHP 文字列の長さを取得するサンプル(mb_strlen/strlen)
PHP 英字の大文字と小文字を変換(strtolower/strtoupper)

△上に戻る