首頁 > 後端開發 > 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 函數將第一個字的首字母小寫,以符合駝峰命名法的要求。

接下來,我們可以將該方法用於物件屬性的設定和取得:

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 屬性。

使用上述方法,我們可以更方便地處理下劃線命名的字串,並將其轉換為符合駝峰命名法的要求的字串,提高了程式碼的可讀性和可維護性。

以上是php怎麼實現下劃線命名法轉駝峰命名法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板