字符串的操作函數中,字符串的大小寫轉換也算是比較常用的函數,其底層實現也比較簡單,下面來一探究竟。
我在github有對php源碼更詳細的注解。感興趣的可以圍觀一下,給個star。PHP5.4源碼注解??梢酝ㄟ^commit記錄查看已添加的注解。
strtolower
1 string strtolower ( string $string ) 將字符串轉換成小寫字符。
strtoupper
1 stringstrtoupper(string$string) 將字符串轉換成大寫字符。
運行示例
12345 $str = 'Hello World';$new_str = strtolower($str); // hello world $str = 'hello world';$new_str = strtoupper($str); // HELLO WORLD 代碼運行步驟
拷貝一份字符串
php_strtolower/php_strtoupper進行轉換
源碼解讀
兩個函數的核心操作都差不多,講一下strtolower,另一個是類似的。 php_strtolower函數的核心代碼如下:
123456789 c=(unsignedchar*)s;e=c+len; // 遍歷s,逐個變為小寫while(c<e){ *c=tolower(*c); c++;}returns; 這個函數就是遍歷整個字符串,逐個轉成小寫字符。這也是一個經典的指針操作。
天驕國際美易購隨心所欲
新聞熱點
疑難解答
圖片精選