Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatanama garis bawah kepada tatanama kes unta dalam PHP

Bagaimana untuk menukar tatanama garis bawah kepada tatanama kes unta dalam PHP

PHPz
PHPzasal
2023-04-11 10:33:031450semak imbas

Dalam PHP, kami sering menghadapi keperluan untuk menukar rentetan dengan underscore_case kepada camelCase. Sebagai contoh, medan jadual pangkalan data bernama "nama_pengguna" akan lebih sesuai untuk menggunakan "Nama pengguna" apabila ditukar kepada atribut objek.

Berikut ialah kaedah biasa:

function snakeToCamel($str, $capitalized = false) {
    $result = str_replace('_', '', ucwords($str, '_'));
    if (!$capitalized) {
        $result = lcfirst($result);
    }
    return $result;
}

Kaedah ini menggunakan fungsi str_replace dan fungsi ucwords. Fungsi str_replace digunakan untuk menggantikan garis bawah dalam rentetan dengan rentetan kosong, dan fungsi ucwords digunakan untuk menggunakan huruf besar huruf pertama bagi setiap perkataan. Akhir sekali, gunakan fungsi lcfirst untuk huruf kecil huruf pertama perkataan pertama untuk mematuhi camelCase.

Seterusnya, kita boleh menggunakan kaedah ini untuk menetapkan dan mendapatkan sifat objek:

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

Dalam contoh di atas, kami menentukan kelas User, yang mengandungi Dua atribut: userId dan userName. Kami menggunakan kaedah setUserId dan setUserName untuk menetapkan nilai kedua-dua sifat ini, dan menggunakan kaedah getUserId dan getUserName untuk mendapatkan nilai sifat tersebut.

Dalam kaedah setUserName, kami menggunakan fungsi snakeToCamel yang dinyatakan di atas untuk menukar rentetan yang dinamakan garis bawah kepada sarung unta bernama rentetan dan menetapkannya kepada atribut $userName.

Menggunakan kaedah di atas, kami boleh memproses rentetan yang dinamakan garis bawah dengan lebih mudah dan menukarnya menjadi rentetan yang memenuhi keperluan tatatanda huruf unta, meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatanama garis bawah kepada tatanama kes unta dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn