[PHP] mb_substr 文字列を切り出すサンプル

PHPの文字列を切り出すサンプルです。

確認環境
・PHP 7

目次

サンプル mb_substrとは
  文字列を切り出す
  文字列の途中から最後までを切り出す
  文字列の後ろから取得する(マイナス)

mb_substrとは

string mb_substr ( 文字列 , 開始位置 [, 長さ  [, エンコーディング ]] )
  • 1つめの引数の文字列に対して、2つめの引数の「開始位置」から3つめの「長さ」で文字列を取得します。
  • 日本語のひらがなや漢字などのマルチバイト文字に対応しています。
  • 開始位置の最初は0から始まります。
  • 4つめの引数としてエンコーディングがあります。省略した場合は内部文字エンコーディングを使用します。

文字列を切り出す

<?php
$a = "あいうえお";
print mb_substr($a, 0, 1); //あ
print mb_substr($a, 1, 1); //い
print mb_substr($a, 2, 1); //う

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

$b = "abcde";
print mb_substr($b, 0, 1); //a
print mb_substr($b, 1, 1);//b

3~5行目は、指定の位置から1文字取得しています。
7行目は、最初の文字「あ」から3文字取得しています。
8行目は、途中にある文字の「う」から2文字取得しています。
11行目は、半角文字の場合です。

 

文字列の途中から最後までを切り出す

string mb_substr ( 文字列 , 開始位置)

引数が2つの場合、1つめの引数の開始位置から最後までの文字を返します。

<?php
$a = "あいうえお";
print mb_substr($a, 1); //いうえお
print mb_substr($a, 2); //うえお
print mb_substr($a, 3); //えお
print mb_substr($a, 4); //お

 

文字列の後ろから取得する(マイナス)

2つめの引数をマイナスにすると、文字列の後ろから取得します。

<?php
$a = "あいうえお";
print mb_substr($a, -1); //お
print mb_substr($a, -2); //えお
print mb_substr($a, -3); //うえお

以下は、PHPマニュアルのmb_substr関数のリンクです。
http://php.net/manual/ja/function.mb-substr.php

関連の記事

PHP 文字列の値を比較するサンプル(strcmp)
[PHP] mb_strlen 文字列の長さを取得する

△上に戻る