ucfirst($str)
将 str
的首字符(如果首字符是字母)转换为大写字母,并返回这个字符串。
源码位于 ext/standard/string.c
1 /* {{{ php_ucfirst 2 ???Uppercase the first character of the word in a native string */ 3 static void php_ucfirst(char *str) 4 { 5 ????register char *r; 6 ????r = str; 7 ????*r = toupper((unsigned char) *r); 8 } 9 /* }}} */10 11 /* {{{ proto string ucfirst(string str)12 ???Makes a string‘s first character uppercase */13 PHP_FUNCTION(ucfirst)14 {15 ????zend_string *str;16 17 ????ZEND_PARSE_PARAMETERS_START(1, 1)18 ????????Z_PARAM_STR(str)19 ????ZEND_PARSE_PARAMETERS_END();20 21 ????if (!ZSTR_LEN(str)) {22 ????????RETURN_EMPTY_STRING();23 ????}24 25 ????ZVAL_STRINGL(return_value, ZSTR_VAL(str), ZSTR_LEN(str));26 ????php_ucfirst(Z_STRVAL_P(return_value));27 }28 /* }}} */
*r = toupper((unsigned char) *r); 这句调用c函数toupper()将字符数组的第一个元素转为大写。
函数lcfirst()的实现与ucfirst()类似。
php内置函数分析之ucfirst()、lcfirst()
原文地址:https://www.cnblogs.com/natian-ws/p/9085442.html