字符串的操作函數中,字符串的大小寫轉換也算是比較常用的函數,其底層實現也比較簡單,下面來一探究竟。
我在github上有對PHP源碼更詳細的注解。感興趣的可以圍觀一下,給個star。PHP5.4源碼注解。可以通過commit記錄查看已添加的注解。
string strtolower ( string $string )
將字符串轉換成小寫字符。
string strtoupper ( string $string )
將字符串轉換成大寫字符。
$str = 'Hello World'; $new_str = strtolower($str); // hello world $str = 'hello world'; $new_str = strupper($str); // HELLO WORLD
拷貝一份字符串
php_strtolower/php_strtoupper進行轉換
兩個函數的核心操作都差不多,講一下strtolower,另一個是類似的。
php_strtolower函數的核心代碼如下:
c = (unsigned char *)s;
e = c+len;
// 遍歷s,逐個變為小寫
while (c < e) {
*c = tolower(*c);
c++;
}
return s;
這個函數就是遍歷整個字符串,逐個轉成小寫字符。這也是一個經典的指針操作。
原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。
如果本文對你有幫助,請點下推薦吧,謝謝^_^
最後再安利一下,我在github有對PHP源碼更詳細的注解。感興趣的可以圍觀一下,給個star。PHP5.4源碼注解。可以通過commit記錄查看已添加的注解。
更多源碼文章,歡迎訪問個人主頁繼續查看:hoohack