程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> [PHP源碼閱讀]strtolower和strtoupper函數,strtoupper

[PHP源碼閱讀]strtolower和strtoupper函數,strtoupper

編輯:關於PHP編程

[PHP源碼閱讀]strtolower和strtoupper函數,strtoupper


字符串的操作函數中,字符串的大小寫轉換也算是比較常用的函數,其底層實現也比較簡單,下面來一探究竟。

我在github上有對PHP源碼更詳細的注解。感興趣的可以圍觀一下,給個star。PHP5.4源碼注解。可以通過commit記錄查看已添加的注解。

strtolower

string strtolower ( string $string )

將字符串轉換成小寫字符。

strtoupper

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved