php字符串大小写转换有内置函数和手动ascii处理两种方式:strtolower、strtoupper、ucfirst、ucwords可快速转换;ord()与chr()配合可逐字符精细控制大小写转换。

使用内置函数直接转换
PHP 提供了多个现成的字符串大小写转换函数,简单高效:
- strtolower($str):将字符串全部转为小写
- strtoupper($str):将字符串全部转为大写
- ucfirst($str):仅首字母大写(其余不变)
- ucwords($str):每个单词首字母大写
例如:echo strtolower("Hello World"); // 输出 hello world
逐字符判断并手动转换
若需更精细控制(比如只转换英文字母、保留数字和符号),可用 ord() 和 chr() 手动处理 ASCII 值:
- 大写字母 A–Z 的 ASCII 码是 65–90,小写 a–z 是 97–122
- 大写转小写:ASCII 值 + 32;小写转大写:ASCII 值 − 32
- 遍历字符串每个字符,用 ord() 获取 ASCII,判断范围后调整再用 chr() 转回字符
示例代码片段:if (ord($c) >= 65 && ord($c)
封装成可复用的自定义函数
把逻辑封装成函数,便于多次调用和维护:
- 定义函数如 swapCase($str),遍历字符串,对每个字母做大小写翻转
- 用 is_alpha() 判断是否为字母(或直接比对 ASCII 范围更轻量)
- 避免修改原字符串,返回新字符串
这样写一次,后续 anywhere 都能 echo swapCase("Php7.2 Is Fun!"); // 输出 pHP7.2 iS fUN!
注意 PHP7.2 的兼容性细节
PHP7.2 已废弃 create_function(),不建议用于回调;多字节字符(如中文、emoji)不能用上述 ASCII 方法处理:
- 纯英文场景用 ord/chr 安全高效
- 含中文或 UTF-8 多字节文本,请改用 mb_strtolower() / mb_strtoupper() 并指定编码(如 'UTF-8')
- 确保脚本文件保存为 UTF-8 无 BOM 格式,避免乱码
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











