文字列

文字列

半角アルファベットの大文字、小文字表記を整える

  • このエントリーをはてなブックマークに追加

アルファベットには大文字、小文字があり、文字列データにはこれらが混在しているのが普通です。今回は、文字列に含まれる半角アルファベットの大文字、小文字の表記を整える方法を解説します。

この記事のポイント

  • アルファベットの大文字/小文字表記を揃える
  • 全ての単語の1文字目を大文字にする
  • 文章の先頭の単語のみ1文字目を大文字にする

目次

概要

今回は次の3つの関数を使って、大文字と小文字の表記を整えていきます。

  • strtolower関数 – 文字列の全ての半角アルファベットを大文字にする
  • strtoupper関数 – 文字列の全ての半角アルファベットを小文字にする
  • ucwords関数 – 単語ごとの先頭文字のみ大文字にする

strtolower関数

文字列に含まれる半角アルファベットを全て小文字に変換します。
全角アルファベットは対応していません

コード例

$string = "This is sample TEXT. CAT";

// 小文字への変換を実行
$string = strtolower($string);

// 出力
var_dump($string);

実行結果

strtolower関数の実行結果

strtoupper関数

文字列に含まれる半角アルファベットを全て大文字に変換します。
こちらの関数も全角アルファベットは対応していません。

コード例

$string = "This is sample TEXT. CAT";

// 大文字への変換を実行
$string = strtoupper($string);

// 出力
var_dump($string);

実行結果

strtoupper関数の実行結果

ucwords関数

単語の先頭文字だけを大文字に変換します。
こちらの関数も全角アルファベットは対応していません。

コード例

$string = "This is sample TEXT. CAT";

// 変換を実行
$string = ucwords($string);

// 出力
var_dump($string);

実行結果

ucwords関数の実行結果

「,(半角コンマ)」で区切られた文字列にucwords関数を使用する

CSV形式のデータを処理する際など、単語が「,(半角コンマ)」など半角スペース以外の文字で区切られていることもあります。
このような場合でも、ucwords関数の2つ目のパラメータに単語を区切る文字(デリミタ)を指定することが可能です。

コード例

$string = "cat,dog,fox,panda";

// 変換を実行
$string = ucwords( $string, ",");

// 出力
var_dump($string);

実行結果

ucwords関数の実行結果(2回目)

デリミタは「,(半角コンマ)」以外にも、任意の記号や文字を使うことができます。
また、デリミタについては全角記号や文字も指定可能です。

関数を組み合わせて形式を整える

通常、文字列はどこに大文字や小文字が使われているかは分かりません。
しかし、strtolower関数ucwords関数を組み合わせることで、表記を一定のルールで整えることが可能になります。

コード例

$string = "This IS samPLE TEXT.";

// 一旦全て小文字に変換し、その後にucwords関数を実行
$string = strtolower( $string);
$string = ucwords($string);

// 出力
var_dump($string);

実行結果

応用 その1

解説

まずは一旦、全てのアルファベットをstrtolower関数で小文字へ変換します。
その後、ucwords関数を使って単語の先頭文字だけを大文字に変換し、表記を整えています。

全ての単語の先頭文字を大文字にするのではなく、文字列の先頭のみを大文字にしたい場合は、ucfirst関数を使います。

コード例

$string = ucfirst($string);

実行結果

応用編 その2

もしアルファベットの半角・全角についての表記を統一したい場合は、別記事「半角、全角の表記を整える」を参照ください。

  • このエントリーをはてなブックマークに追加
前のページへ 一覧ページへ一覧 次のページへ