1. 程式人生 > >php內置函數分析之strrev()

php內置函數分析之strrev()

++ parameter n) all 位置 ring style == bsp

 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()