php字符串大小写转换最常用函数为strtoupper()、strtolower()、ucfirst()和ucwords():strtoupper()全转大写,仅改英文字母;strtolower()全转小写,对非ascii字符需用mb_strtolower();ucfirst()仅首字母大写,其余不变;ucwords()按空格分隔各单词首字母大写。

PHP字符串大小写转换最常用的就是 strtoupper()、strtolower()、ucfirst() 和 ucwords(),它们在实际开发中稳定可靠,无需额外扩展,开箱即用。
全转大写:strtoupper() —— 简单直接
把整个字符串所有英文字母转为大写,非字母字符(如数字、空格、中文、标点)保持不变。
示例:
php
echo strtoupper("Hello World! 123"); // 输出:HELLO WORLD! 123
echo strtoupper("你好 world"); // 输出:你好 WORLD
?>
全转小写:strtolower() —— 同样稳妥
与 strtoupper() 对应,只影响 ASCII 字母 a–z,其他字符原样保留。
注意:对含非英文字符(如德语 ß、法语 é)的字符串,该函数可能不按预期处理,如需国际化支持,建议改用 mb_strtolower($str, 'UTF-8')。
首字母大写:ucfirst() —— 仅开头一个字母
只将字符串第一个字母转为大写,其余全部小写(不改变)?错 —— 它只改首字母,其余字符完全不动。
常见误用对比:
echo ucfirst("hello world"); // Hello world
echo ucfirst("HELLO WORLD"); // HELLO WORLD(首字母已是大写,无变化)
echo ucfirst("123abc"); // 123abc(首字符非字母,不处理)
?>
单词首字母大写:ucwords() —— 按空格切分处理
把每个由空格分隔的单词的首字母转为大写,其余字母不变。注意:它只识别空格为分隔符,制表符、换行符、中文空格等不会触发转换。
实用建议:
- 若需处理多空格或混合空白字符,可先用
preg_replace('/\s+/', ' ', $str)规范空白; - 对中文标题混排英文的情况(如“php 教程”),它能正确转成“Php 教程”;
- 不适用于带连字符或撇号的单词(如 “well-known” → “Well-known”,而非 “Well-Known”)。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











