字符串的操作函数中,字符串的大小写转换也算是比较常用的函数,其底层实现也比较简单,下面来一探究竟。
我在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; 这个函数就是遍历整个字符串,逐个转成小写字符。这也是一个经典的指针操作。
天骄国际美易购随心所欲
新闻热点
疑难解答
图片精选