php 如何实现字符串翻转
字符串翻转方法
在PHP中,实现字符串翻转可以通过多种方式完成,以下是几种常见的方法:
使用内置函数 strrev()
strrev() 是PHP专门用于字符串翻转的内置函数,直接调用即可:
$original = "Hello World";
$reversed = strrev($original);
echo $reversed; // 输出 "dlroW olleH"
手动实现字符遍历翻转

通过循环遍历字符串,从末尾开始逐个拼接字符:
$original = "Hello World";
$reversed = "";
for ($i = strlen($original) - 1; $i >= 0; $i--) {
$reversed .= $original[$i];
}
echo $reversed; // 输出 "dlroW olleH"
使用 array_reverse() 结合 implode()

将字符串拆分为数组,反转数组后再合并:
$original = "Hello World";
$chars = str_split($original);
$reversed = implode("", array_reverse($chars));
echo $reversed; // 输出 "dlroW olleH"
处理多字节字符(如中文)
对于多字节字符(如UTF-8编码的中文),需使用 mb_ 系列函数避免乱码:
$original = "你好世界";
$reversed = mb_strrev($original, "UTF-8");
echo $reversed; // 输出 "界世好你"
// 自定义多字节翻转函数
function mb_strrev($str, $encoding = null) {
if ($encoding === null) {
$encoding = mb_internal_encoding();
}
$length = mb_strlen($str, $encoding);
$reversed = "";
for ($i = $length - 1; $i >= 0; $i--) {
$reversed .= mb_substr($str, $i, 1, $encoding);
}
return $reversed;
}
注意事项
- 普通英文字符串直接使用
strrev()效率最高。 - 多字节字符需使用
mb_函数族处理,否则可能导致乱码。 - 手动遍历方法适用于理解原理,但实际开发中优先选择内置函数。






