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
함수를 사용하여 camelCase를 준수하도록 첫 번째 단어의 첫 글자를 소문자로 만듭니다. 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
类,其中包含了两个属性:userId
和 userName
。我们使用 setUserId
和 setUserName
方法分别设置了这两个属性的值,并使用 getUserId
和 getUserName
方法获取属性的值。
在 setUserName
方法中,我们使用了上面提到的 snakeToCamel
函数将下划线命名的字符串转换为驼峰命名的字符串,并将其赋值给 $userName
rrreee
위의 예에서는 두 가지 속성이 포함된User
클래스를 정의했습니다: userId 및 사용자 이름
. setUserId
및 setUserName
메소드를 사용하여 이 두 속성의 값을 각각 설정하고, getUserId
및 getUserName 메소드 속성 값을 가져옵니다. 🎜🎜 <code>setUserName
메소드에서 위에서 언급한 snakeToCamel
함수를 사용하여 string이라는 밑줄을 string이라는 낙타 표기로 변환하고 이를 $userName 속성입니다. 🎜🎜위 방법을 사용하면 밑줄로 명명된 문자열을 보다 편리하게 처리하고 카멜 케이스 표기 요구 사항을 충족하는 문자열로 변환할 수 있어 코드의 가독성과 유지 관리성이 향상됩니다. 🎜위 내용은 PHP에서 밑줄 명명법을 낙타 표기법으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!