ucwords

関数の概要

PHPの ucwords 関数は、文字列内の各単語の先頭の文字を大文字に変換します。英語などの文章で人名やタイトルのように単語ごとに先頭を大文字にしたい場合に便利です。シンプルで使いやすく、文字列操作の基本的な関数の1つです。

パラメータの説明

  • string:大文字に変換したい対象の文字列を指定します。
  • delimiters (オプション):どの文字を単語の区切り文字とみなすかを指定する文字列。省略するとスペースが区切りとして使われます。(PHP 7.4以降)

戻り値

元の文字列の各単語の先頭文字が大文字に変換された新しい文字列を返します。元の文字列自体は変更されません。

使用例

基本的な使い方

<?php
$text = "hello world";
$result = ucwords($text);
echo $result; // 出力: Hello World
?>

単純に複数単語からなる文字列の先頭文字を大文字に変換します。

区切り文字を指定する例

<?php
$text = "hello-world_php";
$result = ucwords($text, "-_");
echo $result; // 出力: Hello-World_Php
?>

「-」と「_」を単語の区切り文字として指定し、それぞれの区切りの後の文字を大文字に変換しています。(PHP 7.4以降で利用可能)

1単語のみの文字列に使う例

<?php
$text = "apple";
$result = ucwords($text);
echo $result; // 出力: Apple
?>

単語が1つの場合でも、その先頭文字を大文字に変換します。

日本語含む文字列での挙動例

<?php
$text = "hello 世界";
$result = ucwords($text);
echo $result; // 出力: Hello 世界
?>

日本語の文字に影響はなく、英単語の先頭だけが大文字になります。

関連する関数

  • strtoupper:文字列をすべて大文字にする
  • strtolower:文字列をすべて小文字にする
  • lcfirst:文字列の先頭の1文字だけを小文字にする
  • ucfirst:文字列の先頭の1文字だけを大文字にする

まとめ

ucwords は単語ごとの先頭文字を大文字にしたいときに便利なPHPの関数です。単語の区切り文字の指定も可能で、様々な文字列操作に柔軟に対応できます。初心者にも扱いやすく、タイトルや名前の整形など実務でもよく使われるため、ぜひ使い方を覚えておきましょう。