PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのucwords()関数とは?構文と使い方を実例付きで解説

ucwords()関数は、文字列に含まれる各単語の先頭の1文字を大文字へ変換するためのPHP組み込み関数です。記事タイトルや見出しなど、単語ごとに頭文字を大文字表記へ整えたい場面で便利に使えます。

構文

ucwords(str, delimiters)

パラメータ

  • str − 変換対象となる入力文字列。

  • delimiters(任意) − 単語の始まりとみなす区切り文字を指定します。デフォルトでは、半角スペース・タブ・改行などの空白文字が区切りとして扱われます。第2引数を指定した場合は、そこで指定した文字だけが区切りとみなされる点に注意してください。

戻り値

ucwords()関数は、変換後の文字列を返します。

使用例

まずは、もっとも基本的な使い方から見ていきましょう。

<?php
    echo ucwords("This is it!");
?>

実行結果

上記コードの出力は次のとおりです。

This Is It!

各単語の先頭文字が自動的に大文字へ変換されていることが分かります。

区切り文字を指定した使用例

続いて、第2引数で区切り文字を明示的に指定した例を確認してみましょう。

<?php
    $s = "#demo#text";
    $sep = '$';
    $res = ucwords($s, $sep);
    print_r($res);
?>

実行結果

上記コードの出力は次のとおりです。

#demo#text

この例では区切り文字として「$」を指定していますが、対象の文字列の中に「$」は存在しないため、どこも単語の始まりと判定されず、結果は元の文字列のまま変化していません。このように、delimitersを指定すると、デフォルトの空白文字は区切りとして扱われなくなるため、意図した動作を得るには区切り文字の指定内容に注意が必要です。

補足:マルチバイト文字の扱い

ucwords()はシングルバイト文字を前提とした関数のため、日本語などのマルチバイト文字列に対しては期待どおりに動作しない場合があります。マルチバイト対応が必要なケースでは、mbstring拡張モジュールを利用した処理を検討するとよいでしょう。


  1. PHPのquoted_printable_decode()関数とは?使い方とサンプルコードを解説

    PHPのquoted_printable_decode()関数は、quoted-printable形式でエンコードされた文字列を、8ビット文字列にデコードするために使用されます。メール本文などで使われるquoted-printableエンコーディングを元に戻したい場合に便利な関数です。 構文 quoted_printable_decode(str) パラメータ str − デコード対象となる入力文字列を指定します。 戻り値 quoted_printable_decode()関数は、デコード後の8ビットASCII文字列を返します。 使用例 以下は、quoted_printable_dec

  2. PHPのnl_langinfo()関数の使い方をわかりやすく解説

    PHPのnl_langinfo()関数は、現在のロケール(言語・地域設定)に関する情報を取得するための関数です。曜日名や月名、通貨記号、数値の書式など、ロケール固有のさまざまな情報を要素単位で取り出すことができます。通常、setlocale()でロケールを設定した後に使用します。 注意: この関数はWindows環境では動作しません。LinuxなどのUNIX系プラットフォームでのみ利用可能です。 構文 nl_langinfo(ele) パラメータ ele − 取得したい情報の要素を指定します。指定できる主な要素は以下の通りです。 時刻・カレンダー関連 ABDAY_(1-7) − 番号で指