← 回到文章

PHP源码阅读笔记二:strlen, strtolower, strtoupper, ord, chr函数

PHP源码阅读笔记二:strlen, strtolower, strtoupper, ord, chr函数
int strlen ( string string ) 返回字符串的长度 在标准扩展中并没有相关的实现,在其它扩展函数中使用Z_STRLEN、Z_STRLEN_P或Z_STRLEN_PP取得长度
string strtolower ( string str ) 将一个字符串变为小写,其实现如下代码 【经典源代码】
char *php_strtolower(char *s, size_t len)
{
              unsigned char *c, *e;
             
              c = s;
              e = c+len;
 
              while (c < e) {
                            *c = tolower(*c);
                            c++;
              }
              return s;
}
这虽然是一个简单的遍历字符串并将每个字符变为小写的程序,但是这是一个使用指针的标程。
string strtoupper ( string string ) 将一个字符串变为大写 代码实现与上面的程序类似只是将tolower函数变成了toupper string chr ( int ascii ) 返回相对应于 ascii 所指定的单个字符。 其本质是返回一个长度为1的字符串 【源代码】
              temp[0] = (char) Z_LVAL_PP(num);
              temp[1] = 0;
              RETVAL_STRINGL(temp, 1, 1);
int ord ( string string ) 返回字符的ASCII值 其本质上是返回字符串第一个字符的ASCII值 【源代码】
RETURN_LONG((unsigned char) Z_STRVAL_PP(str)[0]);
最后更新于 2010-01-11 10:07:22