Heim >Backend-Entwicklung >PHP-Tutorial >[PHP源码阅读]strtolower和strtoupper函数,strtoupper_PHP教程

[PHP源码阅读]strtolower和strtoupper函数,strtoupper_PHP教程

WBOY
WBOYOriginal
2016-07-12 08:51:201278Durchsuche

[PHP源码阅读]strtolower和strtoupper函数,strtoupper

字符串的操作函数中,字符串的大小写转换也算是比较常用的函数,其底层实现也比较简单,下面来一探究竟。

我在github上有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。

strtolower

<p>string strtolower ( string $string )</p>

将字符串转换成小写字符。

strtoupper

<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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1131142.htmlTechArticle[PHP源码阅读]strtolower和strtoupper函数,strtoupper 字符串的操作函数中,字符串的大小写转换也算是比较常用的函数,其底层实现也比较简单,...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn