搜尋
首頁後端開發php教程使用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.0039999485015869485015869485015869485015869485015869 500602722168</p>convertUnderline2: run time = 0.036003828048706<p><br>執行10w次:<br>convertUnderline1: run time = 0.46304702758789</p>convertUnderline2: run time = 0.31903195381165<p><br>為什麼字串截取拼接要比陣列連接慢呢?如果你看過PHP C的底層你就會明白了。所以以後如果有大量的字串需要連接成一個字串的 不要在用點連接了,放在一個數組後使用implode連接。 <br></p>還有一個要說的,這樣的方法同樣在JS裡也是,數組連接要比字串連接塊。 <p>
                
                
                </p>
                    以上就介紹了使用PHP把下劃線分隔命名的字符串 轉換成駝峰式命名方式 , 把下劃線後面的第一個字母變成大寫,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 <p>
                </p>
                    <p></p>
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
float最大值为多少float最大值为多少Oct 11, 2023 pm 05:54 PM

float最大值:1、在C语言中,float最大值是3.40282347e+38,根据IEEE 754标准,float类型的最大指数为127,尾数的位数为23,通过这种方式,最大浮点数为3.40282347e+38;2、在Java语言中,float最大值是3.4028235E+38;3、在Python语言中,float最大值是1.7976931348623157e+308。

数据库float长度有哪些数据库float长度有哪些Oct 10, 2023 pm 03:57 PM

常见的数据库float长度有:1、MySQL中的float类型长度,可以是4个字节或8个字节;2、Oracle中的float类型长度,可以是4个字节或8个字节;3、SQL Server中的float类型长度,固定为8个字节;4、PostgreSQL中的float类型长度,可以是4个字节或8个字节等等。

float精度能到多少float精度能到多少Oct 17, 2023 pm 03:13 PM

float精度能到6到9位小数。根据IEEE754标准,float类型可以表示的有效数字位数为大约6到9位。需要注意的是,这只是理论上的最大精度,实际使用中由于浮点数的舍入误差,float类型的精度往往会更低。在计算机中进行浮点数运算时,由于浮点数的精度限制,可能会出现精度损失的情况。为了提高浮点数的精度,可以使用更高精度的数据类型,如double或者long double。

如何将string转换成float如何将string转换成floatOct 16, 2023 pm 02:03 PM

可以通过Python、JavaScript、Java、C#、Ruby和PHPstring转换成float。详细介绍:1、Python,输入float_number = float(string_number);2、JavaScript,输入float_number = parseFloat(string_number);;3、Java等等。

c语言中float什么意思c语言中float什么意思Oct 12, 2023 pm 02:30 PM

C语言中的float是一种数据类型,用于表示单精度浮点数,浮点数是一种用科学计数法表示的实数,可以表示非常大或非常小的数值。float类型的变量可以存储小数点后6位有效数字的数值,在C语言中,使用float类型可以进行浮点数的运算和存储,其变量可以用于表示小数、分数、科学计数法等需要精确表示的实数,与整数类型不同,浮点数可以表示小数点后的数字,并且可以进行小数的四则运算。

float属性取值有哪些float属性取值有哪些Oct 10, 2023 pm 02:03 PM

float属性取值有left、right、none、inherit、clearinline-start和inline-end。详细介绍:1、left,元素向左浮动,即元素会尽可能地靠近容器的左边,其他元素会围绕在其右侧;2、right,元素向右浮动,即元素会尽可能地靠近容器的右边,其他元素会围绕在其左侧;3、none默认值,元素不浮动,会按照正常的文档流排列等等。

float和double有什么区别float和double有什么区别Oct 11, 2023 pm 05:38 PM

float和double区别主要在于精度、存储和计算速度、范围以及在编程语言中的使用。详细介绍:1、精度不同,Float是单精度浮点数,占用4个字节(32位),而double是双精度浮点数,占用8个字节(64位);2、存储和计算速度不同,double占用的空间更大,需要更多的存储空间来存储数值,在需要高性能和速度的应用程序中,使用float类型可能会更加高效;3、范围不同等等。

float32字节包括哪些float32字节包括哪些Oct 10, 2023 pm 04:07 PM

float32字节包括符号位、指数位和尾数位,用于表示32位浮点数。详细介绍:1、符号位(1位),用来表示数字的正负,0表示正数,1表示负数;2、指数位(8位),用来表示浮点数的指数部分,通过指数位,可以调整浮点数的大小范围;3、尾数位(23位),用来表示浮点数的尾数部分,尾数位存储了浮点数的小数部分。符号位决定了浮点数的正负,指数位和尾数位共同决定了浮点数的大小和精度。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!