Rumah pembangunan bahagian belakang tutorial php 使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写

使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写

Aug 08, 2016 am 09:21 AM
float str

最近项目使用symfony框架,这个框架对数据库的操作在这个团队里使用的是ORM进行操作,说实话使用ORM的开发效率和运行效率不一定高多少,到是它的实体命名和现有数据库字段的命名不太一样,ORM实体属性命名是驼峰式的,数据库字段是下划线分隔,这就产生了字段映射的过程。当碰到需要手动写实体必须的数组时,字段映射是一件很头疼的事情,尤其是字段比较多的时候,写到你想吐。到这就产生一个问题就是把以下划线分隔的命名字段转换成驼峰式命名。小弟我也很懒,在网上找了半天,也没找到一个具体的PHP Demo,有的也是java写的,还着还挺复杂。于是乎我就自己动手丰衣足食,顺手写了两个,废话不多说直接贴代码:

<?php //微妙时间
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

//将下划线命名转换为驼峰式命名
function convertUnderline1 ( $str , $ucfirst = true)
{
    while(($pos = strpos($str , '_'))!==false)
        $str = substr($str , 0 , $pos).ucfirst(substr($str , $pos+1));

    return $ucfirst ? ucfirst($str) : $str;
}

//将下划线命名转换为驼峰式命名
function convertUnderline2 ( $str , $ucfirst = true)
{
    $str = explode('_' , $str);
    foreach($str as $key=>$val)
        $str[$key] = ucfirst($val);

    if(!$ucfirst)
        $str[0] = strtolower($str[0]);

    return implode('' , $str);
}

//第一种方式调用10w次所需时间
$s1 = microtime_float();
for ($i=0;$i';

//第二种方式调用10w次所需时间
$s2 = microtime_float();
for ($i=0;$i<p>为什么我要写两个呢?两种不同的处理方式,我是想看看那个处理效率高。<br>经过测试发现,字符串拼接的方式要比用数组来处理慢了0.1秒,当然这是每个函数执行10w次才能看出的结果,当然1w次也能看出差别,1次就可以忽略不计了。<br>下面是测试结果:<br>执行1K次:<br>convertUnderline1: run time = 0.0050010681152344<br>convertUnderline2: run time = 0.0039999485015869</p><p>执行1w次:<br>convertUnderline1: run time = 0.05500602722168<br>convertUnderline2: run time = 0.036003828048706</p><p>执行10w次:<br>convertUnderline1: run time = 0.46304702758789<br>convertUnderline2: run time = 0.31903195381165</p><p>为什么字符串截取拼接要比数组连接慢呢?如果你看过PHP C的底层你就会明白了。所以以后如果有大量的字符串需要连接成一个字符串的 不要在用点连接了,放在一个数组后使用implode连接。</p><p>还有一个要说的,这样的方法同样在JS里也是,数组连接要比字符串连接块。</p>
                
                
                <p>
                    以上就介绍了使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p>
                <p>
                    </p>
             
Salin selepas log masuk
Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah nilai maksimum terapung? Apakah nilai maksimum terapung? Oct 11, 2023 pm 05:54 PM

Nilai maksimum apungan: 1. Dalam bahasa C, nilai maksimum apungan ialah 3.40282347e+38 Menurut piawaian IEEE 754, eksponen maksimum jenis apungan ialah 127, dan bilangan digit mantissa ialah 23. Dengan cara ini, nombor titik terapung maksimum ialah 3.40282347 e+38. Dalam bahasa Java, nilai apungan maksimum ialah 3.4028235E+38. Dalam bahasa Python, nilai apungan maksimum ialah 1.7976931348623157e+308;

Apakah ketepatan apungan? Apakah ketepatan apungan? Oct 17, 2023 pm 03:13 PM

Ketepatan apungan boleh mencapai 6 hingga 9 tempat perpuluhan. Menurut piawaian IEEE754, bilangan digit bererti yang boleh diwakili oleh jenis apungan adalah lebih kurang 6 hingga 9 digit. Perlu diingatkan bahawa ini hanyalah ketepatan maksimum teori Dalam penggunaan sebenar, disebabkan ralat pembundaran nombor titik terapung, ketepatan jenis apungan selalunya lebih rendah. Apabila melakukan operasi nombor titik terapung dalam komputer, kehilangan ketepatan mungkin berlaku disebabkan oleh had ketepatan nombor titik terapung. Untuk meningkatkan ketepatan nombor titik terapung, anda boleh menggunakan jenis data ketepatan yang lebih tinggi, seperti dua kali ganda atau panjang.

Apakah maksud float dalam bahasa C? Apakah maksud float dalam bahasa C? Oct 12, 2023 pm 02:30 PM

Terapung dalam bahasa C ialah jenis data yang digunakan untuk mewakili nombor titik terapung ketepatan tunggal Nombor titik terapung ialah nombor nyata yang diwakili dalam tatatanda saintifik dan boleh mewakili nilai yang sangat besar atau sangat kecil. Pembolehubah jenis apungan boleh menyimpan nilai dengan 6 digit bererti selepas titik perpuluhan Dalam bahasa C, jenis apungan boleh digunakan untuk mengendalikan dan menyimpan nombor titik apungan boleh digunakan untuk mewakili perpuluhan, pecahan, saintifik tatatanda, dsb. yang memerlukan perwakilan tepat, tidak seperti jenis integer, nombor titik terapung boleh mewakili nombor selepas titik perpuluhan, dan boleh melakukan empat operasi aritmetik pada perpuluhan.

Apakah panjang apungan pangkalan data? Apakah panjang apungan pangkalan data? Oct 10, 2023 pm 03:57 PM

Panjang apungan pangkalan data biasa ialah: 1. Panjang jenis apungan dalam MySQL boleh menjadi 4 bait atau 8 bait 2. Panjang jenis apungan dalam Oracle boleh 4 bait atau 8 bait. , Panjang jenis apungan dalam SQL Server ditetapkan pada 8 bait 4. Panjang jenis apungan dalam PostgreSQL boleh menjadi 4 bait atau 8 bait, dsb.

Apakah yang termasuk float32 bait? Apakah yang termasuk float32 bait? Oct 10, 2023 pm 04:07 PM

Bait float32 termasuk bit tanda, bit eksponen dan bit mantissa, dan digunakan untuk mewakili nombor titik terapung 32-bit. Pengenalan terperinci: 1. Bit tanda (1 bit), digunakan untuk mewakili tanda nombor, 0 mewakili nombor positif, 1 mewakili nombor negatif 2. Bit eksponen (8 bit), digunakan untuk mewakili bahagian eksponen a nombor titik terapung, melalui bit eksponen , anda boleh melaraskan julat saiz nombor titik terapung 3. Bit mantissa (23 bit) digunakan untuk mewakili bahagian mantissa nombor titik terapung, dan bit mantissa menyimpan; bahagian perpuluhan nombor titik terapung. Bit tanda menentukan tanda nombor titik terapung, dan bit eksponen dan bit mantissa bersama-sama menentukan saiz dan ketepatan nombor titik terapung.

Apakah nilai atribut float? Apakah nilai atribut float? Oct 10, 2023 pm 02:03 PM

Nilai atribut apungan termasuk kiri, kanan, tiada, warisi, clearinline-start dan inline-end. Pengenalan terperinci: 1. kiri, elemen terapung ke kiri, iaitu, elemen akan berada sedekat mungkin dengan sebelah kiri bekas, dan elemen lain akan mengelilinginya di sebelah kanan 2. kanan, elemen terapung ke kanan, iaitu, elemen akan berada sedekat mungkin dengan bekas Di sebelah kanan, elemen lain akan mengelilinginya di sebelah kiri 3. Nilai lalai tiada, elemen tidak akan terapung, dan akan disusun mengikut aliran dokumen biasa, dsb.

Apakah perbezaan antara float dan double Apakah perbezaan antara float dan double Oct 11, 2023 pm 05:38 PM

Perbezaan utama antara apungan dan berganda terletak pada ketepatan, penyimpanan dan kelajuan pengiraan, julat dan penggunaan dalam bahasa pengaturcaraan. Pengenalan terperinci: 1. Kepersisan adalah berbeza Float ialah nombor titik terapung ketepatan tunggal, menduduki 4 bait (32 bit), manakala double ialah nombor titik terapung berketepatan dua, menduduki 8 bait (64 bit); storan dan kelajuan pengiraan adalah berbeza , dua kali ganda mengambil lebih banyak ruang dan memerlukan lebih banyak ruang storan untuk menyimpan nilai Dalam aplikasi yang memerlukan prestasi dan kelajuan tinggi, ia mungkin lebih cekap untuk menggunakan jenis apungan.

Bagaimana untuk menukar rentetan kepada terapung Bagaimana untuk menukar rentetan kepada terapung Oct 16, 2023 pm 02:03 PM

Boleh ditukar kepada terapung melalui Python, JavaScript, Java, C#, Ruby dan PHP. Pengenalan terperinci: 1. Python, masukkan float_number = float(string_number); 2. JavaScript, masukkan float_number = parseFloat(string_number);;

See all articles