PHP では、underscore_case の文字列を CamelCase に変換する必要があることがよくあります。たとえば、「user_name」という名前のデータベース テーブル フィールドは、オブジェクト属性に変換するときに「userName」を使用する方が適しています。
次は一般的な方法です:
function snakeToCamel($str, $capitalized = false) { $result = str_replace('_', '', ucwords($str, '_')); if (!$capitalized) { $result = lcfirst($result); } return $result; }
この方法では、str_replace
関数と ucwords
関数を使用します。 str_replace
関数は文字列内のアンダースコアを空の文字列に置換するために使用され、ucwords
関数は各単語の最初の文字を大文字にするために使用されます。最後に、lcfirst
関数を使用して、キャメルケースの要件に従って最初の単語の最初の文字を小文字にします。
次に、このメソッドを使用してオブジェクト プロパティを設定および取得できます:
class User { private $userId; private $userName; public function setUserId($userId) { $this->userId = $userId; } public function getUserId() { return $this->userId; } public function setUserName($userName) { $this->userName = snakeToCamel($userName); } public function getUserName() { return $this->userName; } } $user = new User(); $user->setUserId(123); $user->setUserName('user_name'); echo $user->getUserId() . "\n"; // 输出:123 echo $user->getUserName() . "\n"; // 输出:userName
上の例では、User
クラスを定義します。ここには 2 つの属性が含まれます: userId
と userName
。 setUserId
メソッドと setUserName
メソッドを使用してこれら 2 つのプロパティの値をそれぞれ設定し、getUserId
メソッドと getUserName
メソッドを使用します。プロパティの値を取得します。
setUserName
メソッドでは、前述の snakeToCamel
関数を使用して、文字列という名前のアンダースコアを文字列という名前のキャメルケースに変換し、それに値 Give ## を割り当てます。 #$userName 属性。
以上がPHPで下線の命名法をキャメルケースの命名法に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。