You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中将字符串除最后一个字符外的所有字符转为大写

解决PHP字符串除最后一个字符外转大写的问题

你的原代码存在参数错误:mb_substr的第三个参数需要是截取长度,但你传入了strtolower($str)(字符串),这会导致函数无法正确工作。下面是多字节安全的正确实现:

$str = "Hello";
$strLength = mb_strlen($str);

// 处理字符串长度大于1的情况,避免长度为1时出现截取异常
if ($strLength > 1) {
    // 截取除最后一个字符外的部分并转大写,拼接最后一个字符
    $result = mb_strtoupper(mb_substr($str, 0, $strLength - 1)) . mb_substr($str, -1);
} else {
    // 字符串长度为1时直接返回原字符串(或按需转大写)
    $result = $str;
}

echo $result; // 输出 HEllo

关键说明:

  • 使用mb_strlen和mb_substr而非strlen/substr,确保对中文、特殊多字节字符的处理正确
  • mb_substr($str, -1)是获取字符串最后一个字符的简洁写法
  • 增加长度判断,避免当字符串只有1个字符时出现无效截取

内容的提问来源于stack exchange,提问作者CometZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:10:46