使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写
最近项目使用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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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;

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.

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.

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.

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.

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.

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.

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);;
