Home > php教程 > php手册 > [PHP源码阅读]strtolower和strtoupper函数,strtoupper

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-13 08:38:44
Original
1507 people have browsed it

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

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

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

strtolower

<p>string strtolower ( string $string )</p>
Copy after login

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

strtoupper

<p>string strtoupper ( string $string )</p>
Copy after login

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

运行示例

<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>
Copy after login

代码运行步骤

<p>拷贝一份字符串</p>
<p>php_strtolower/php_strtoupper进行转换</p>
Copy after login

源码解读

两个函数的核心操作都差不多,讲一下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;
Copy after login

 

这个函数就是遍历整个字符串,逐个转成小写字符。这也是一个经典的指针操作。

 

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点下推荐吧,谢谢^_^

 

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

更多源码文章,欢迎访问个人主页继续查看:hoohack

Related labels:
php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template