字符串的操作函数中,字符串的大小写转换也算是比较常用的函数,其底层实现也比较简单,下面来一探究竟。
我在github上有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。
<p>string strtolower ( string $string )</p>
将字符串转换成小写字符。
<p>string strtoupper ( string $string )</p>
将字符串转换成大写字符。
<span>$str</span> = 'Hello World'<span>; </span><span>$new_str</span> = <span>strtolower</span>(<span>$str</span>); <span>//</span><span> hello world</span> <span>$str</span> = 'hello world'<span>; </span><span>$new_str</span> = strupper(<span>$str</span>); <span>//</span><span> HELLO WORLD</span>
<p>拷贝一份字符串</p> <p>php_strtolower/php_strtoupper进行转换</p>
两个函数的核心操作都差不多,讲一下strtolower,另一个是类似的。
php_strtolower函数的核心代码如下:
c = (unsigned <span>char</span> *<span>)s; e </span>= c+<span>len; </span><span>//</span><span> 遍历s,逐个变为小写</span> <span>while</span> (c <<span> e) { </span>*c = tolower(*<span>c); c</span>++<span>; } </span><span>return</span> s;
这个函数就是遍历整个字符串,逐个转成小写字符。这也是一个经典的指针操作。
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,请点下推荐吧,谢谢^_^
最后再安利一下,我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。
更多源码文章,欢迎访问个人主页继续查看:hoohack