PHP 文字列の一部を取得する(mb_substr)

PHPの文字列の一部を取得するサンプルです。

確認環境
・PHP 7

目次

サンプル 文字列の一部を取得する(引数3つ)
  文字列の途中から最後までを取得する(引数2つ)
  文字列の後ろから取得する(マイナス)

文字列の一部を取得する(引数3つ)

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行目は、半角文字の場合です。

 

文字列の途中から最後までを取得する(引数2つ)

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/strlen)
PHP 英字の大文字と小文字を変換(strtolower/strtoupper)

△上に戻る