字符串的操作函數中,字符串的大小寫轉換也算是比較常用的函數,其底層實現也比較簡單,下面來一探究竟。
我在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