1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

株式会社シンプルウェイAdvent Calendar 2021

Day 11

【PHP】文字列関数まとめ

Last updated at Posted at 2021-12-10

mb_strlen()やstrupper()は業務でも使っていましたが、その他の文字列関数についても調べてみたので、この機会にまとめてみました。

mb_strlen()

  • 文字列の長さを取得する。
  • マルチバイト文字(日本語)も1文字としてカウントされる。
  • バイト数の長さを取得したい場合は、後述のstrlen()を使用する。
$cnt = mb_strlen('test');
print $cnt; //4が出力される。

strlen()

  • 文字列の長さをバイト数で返す。
  • 日本語は文字エンコーディングによって1文字の長さが異なるので注意が必要。
  • UTF-8だと日本語1文字は3バイト。
$cnt = strlen('㈱simple-way');
print $cnt; //13が出力される。(日本語1文字で3バイト、半角文字10文字で10バイト)

mb_convert_kana()

  • 半角⇔全角の変換を行う。
  • 第2引数に下記オプションを渡すことで変換方法を指定。
オプション 内容
r 全角英字を半角に変換する。
R 半角英字を全角に変換する。
n 全角数字を半角に変換する。
N 半角数字を全角に変換する。
a 全角英数字を半角に変換する。
A 半角英数字を全角に変換する。
s 全角スペースを半角に変換する。
S 半角スペースを全角に変換する。
k 全角カタカナを半角カタカナに変換する。
K 半角カタカナを全角カタカナに変換する。
h 全角ひらがなを半角カタカナに変換する。
H 半角カタカナを全角ひらがなに変換する。
c 全角カタカナを全角ひらがなに変換する。
C 全角ひらがなを全角カタカナに変換する。
V 濁点付きの文字を一文字に変換する。
$str = '0 1 2 A B Cア イ う'."\n";
print mb_convert_kana($str,'r'); //0 1 2 A B Cア イ う
print mb_convert_kana($str,'n'); //0 1 2 A B Cア イ う
print mb_convert_kana($str,'a'); //0 1 2 A B Cア イ う
print mb_convert_kana($str,'akh'); //0 1 2 A B Cア イ ウ

$str = '0 1 2 A B Cガギグ'."\n";
print mb_convert_kana($str,'R'); //0 1 2 A B Cガギグ
print mb_convert_kana($str,'N'); //0 1 2 A B Cガギグ
print mb_convert_kana($str,'A'); //0 1 2 A B Cガギグ
print mb_convert_kana($str,'AHV'); //0 1 2 A B Cがぎぐ

strtolower()/strtoupper()

  • 文字列を大文字⇔小文字に変換します。
  • マルチバイト文字も変換したい場合は、後述のmb_strtolower()/mb_strtoupper()を使用する。
$str = 'ABCDA B C D';
print strtolower($str); //abcdA B C D

$str = 'abca b c ';
print strtoupper($str); //ABCa b c 

mb_strtolower()/mb_strtoupper()

マルチバイトを含む文字列を大文字⇔小文字に変換します。

$str = 'ABCDA B C D';
print mb_strtolower($str); //abcda b c d

$str = 'abca b c ';
print mb_strtoupper($str); //ABCA B C 

ucfirst()/lcfirst()

先頭の文字を大文字/小文字に変換する。

$str = 'abc';
print ucfirst($str); //Abc

$str = 'ABC';
print lcfirst($str); //aBC

参考にしたもの

公式リファレンス

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?