> 백엔드 개발 > PHP 문제 > PHP에서 밑줄 명명법을 낙타 표기법으로 변환하는 방법

PHP에서 밑줄 명명법을 낙타 표기법으로 변환하는 방법

PHPz
풀어 주다: 2023-04-11 14:31:40
원래의
1443명이 탐색했습니다.

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 类,其中包含了两个属性:userIduserName。我们使用 setUserIdsetUserName 方法分别设置了这两个属性的值,并使用 getUserIdgetUserName 方法获取属性的值。

setUserName 方法中,我们使用了上面提到的 snakeToCamel 函数将下划线命名的字符串转换为驼峰命名的字符串,并将其赋值给 $userName

다음으로 이 메소드를 사용하여 객체 속성을 설정하고 가져올 수 있습니다.

rrreee

위의 예에서는 두 가지 속성이 포함된 User 클래스를 정의했습니다: userId 및 사용자 이름. setUserIdsetUserName 메소드를 사용하여 이 두 속성의 값을 각각 설정하고, getUserIdgetUserName 메소드 속성 값을 가져옵니다. 🎜🎜 <code>setUserName 메소드에서 위에서 언급한 snakeToCamel 함수를 사용하여 string이라는 밑줄을 string이라는 낙타 표기로 변환하고 이를 $userName 속성입니다. 🎜🎜위 방법을 사용하면 밑줄로 명명된 문자열을 보다 편리하게 처리하고 카멜 케이스 표기 요구 사항을 충족하는 문자열로 변환할 수 있어 코드의 가독성과 유지 관리성이 향상됩니다. 🎜

위 내용은 PHP에서 밑줄 명명법을 낙타 표기법으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿