php内置函数分析之strrev()

Posted 那天ws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php内置函数分析之strrev()相关的知识,希望对你有一定的参考价值。

 1 php_FUNCTION(strrev)
 2 {
 3     zend_string *str;
 4     char *e, *p;
 5     zend_string *n;
 6 
 7     if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &str) == FAILURE) {
 8         return;
 9     }
10 
11     n = zend_string_alloc(ZSTR_LEN(str), 0); //开辟新内存(新字符串)
12     p = ZSTR_VAL(n); // 新字符串启始位置
13 
14     e = ZSTR_VAL(str) + ZSTR_LEN(str); //指向原始字符串结束位置(‘\0‘)
15 
16     while (--e >= ZSTR_VAL(str)) { //ZSTR_VAL(str),原始字符串起始位置
17         *p++ = *e;
18     }
19 
20     *p = \0; //字符串结束标志‘\0‘
21 
22     RETVAL_NEW_STR(n);
23 }

 

以上是关于php内置函数分析之strrev()的主要内容,如果未能解决你的问题,请参考以下文章

php内置函数分析之strpos()

php内置函数分析之strtoupper()strtolower()

php内置函数分析之ucfirst()lcfirst()

php内置函数分析之str_pad()

php内置函数分析之array_column()

内置函数分析之array_fill_keys()