php 如何实现字符串翻转
使用 strrev 函数
PHP 内置的 strrev 函数可以直接实现字符串翻转,适用于简单的字符串反转需求。
$str = "Hello World";
$reversed = strrev($str);
echo $reversed; // 输出 "dlroW olleH"
手动循环翻转
通过循环遍历字符串,从末尾开始逐个拼接字符,适合需要自定义处理的情况。
$str = "Hello World";
$reversed = "";
for ($i = strlen($str) - 1; $i >= 0; $i--) {
$reversed .= $str[$i];
}
echo $reversed; // 输出 "dlroW olleH"
使用数组函数
将字符串拆分为数组,利用 array_reverse 翻转数组后重新拼接。
$str = "Hello World";
$reversed = implode("", array_reverse(str_split($str)));
echo $reversed; // 输出 "dlroW olleH"
处理多字节字符(如中文)
对于包含多字节字符(如 UTF-8 编码的中文),需使用 mb_ 系列函数避免乱码。
$str = "你好,世界";
$reversed = mb_strrev($str, "UTF-8");
echo $reversed; // 输出 "界世,好你"
function mb_strrev($str, $encoding = null) {
$chars = mb_str_split($str, 1, $encoding ?: mb_internal_encoding());
return implode("", array_reverse($chars));
}
递归实现翻转
通过递归函数逐层截取字符串末尾字符,适合学习递归逻辑的场景。

$str = "Hello World";
$reversed = reverseString($str);
echo $reversed; // 输出 "dlroW olleH"
function reverseString($str) {
if (strlen($str) <= 1) return $str;
return reverseString(substr($str, 1)) . $str[0];
}






