LoginSignup
0
0

More than 1 year has passed since last update.

【PHP】スネークケースからパスカルケースへの変換

Posted at

書いたコード

<?php
declare(strict_types=1);

class Common 
{
    public static function toPascal(string $string): string
    {
        return str_replace(' ', '', ucwords(str_replace('_', ' ', $string)));
    }
}
?>

実行結果

echo Common::toPascal('hello_world') // => HelloWorld

このようにして、スネークケースからパスカルケースへの変換が出来ました。

実行結果を確認したい場合
このサイトを使うと手っ取り早いです。

コードの解説

  • declare(strict_types=1); とは?
    • 厳格な型付けを行っています。
  • public とは?
    • どの範囲からでもアクセス可能であることを示しています。
    • public をつけることによって、他のクラスやファイルから呼び出すことができるようになります。
  • static とは?
    • 簡単に言うと、クラスのインスタンスを生成することなしに、利用できるプロパティやメソッドのことです。
    • すなわち、staticを用いるとインスタンスを生成しなくてもクラスのオブジェクトのアクセスが可能になります。
  • str_replace とは?
    • 検索文字列に一致したすべての文字列を置換します。
  • ucwords とは?
    • 文字列の各単語の最初の文字を大文字にします。

そして、

return str_replace(' ', '', ucwords(str_replace('_', ' ', $string)));

の部分でどこから実行されるのかが分かりにくいと思うので、そこについて説明します。

結論、指定されたコードの実行の順序は、内側から外側へ と進みます。
以下に、一行のコードの実行の手順を説明します。

  1. str_replace('_', ' ', $string):

    • まず、与えられた文字列 $string 内のアンダースコア _ を空白文字に置換します。
  2. ucwords(str_replace('_', ' ', $string)):

    • アンダースコアが空白文字に置換された結果の文字列に対して、ucwords 関数を適用します。これにより、文字列内の各単語の先頭文字が大文字に変換されます。
  3. str_replace(' ', '', ucwords(str_replace('_', ' ', $string))):

    • 先ほどの結果の文字列内の空白文字を削除します。

参考サイト・記事一覧

0
0
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
0
0