php实现翻转
PHP 实现字符串翻转
使用 strrev 函数可以直接翻转字符串。该函数是 PHP 内置的,无需额外安装或配置。
$original = "Hello World";
$reversed = strrev($original);
echo $reversed; // 输出 "dlroW olleH"
PHP 实现数组翻转
使用 array_reverse 函数可以翻转数组。该函数会返回一个新数组,原数组保持不变。

$originalArray = [1, 2, 3, 4, 5];
$reversedArray = array_reverse($originalArray);
print_r($reversedArray); // 输出 [5, 4, 3, 2, 1]
手动实现字符串翻转
如果不使用内置函数,可以通过循环手动实现字符串翻转。
$original = "Hello World";
$reversed = "";
for ($i = strlen($original) - 1; $i >= 0; $i--) {
$reversed .= $original[$i];
}
echo $reversed; // 输出 "dlroW olleH"
手动实现数组翻转
同样,可以通过循环手动实现数组翻转。

$originalArray = [1, 2, 3, 4, 5];
$reversedArray = [];
for ($i = count($originalArray) - 1; $i >= 0; $i--) {
$reversedArray[] = $originalArray[$i];
}
print_r($reversedArray); // 输出 [5, 4, 3, 2, 1]
使用递归实现字符串翻转
递归方法也可以用于翻转字符串,但需要注意递归深度限制。
function reverseString($str) {
if (strlen($str) <= 1) {
return $str;
}
return reverseString(substr($str, 1)) . $str[0];
}
$original = "Hello World";
$reversed = reverseString($original);
echo $reversed; // 输出 "dlroW olleH"
使用递归实现数组翻转
递归方法同样适用于数组翻转。
function reverseArray($arr) {
if (count($arr) <= 1) {
return $arr;
}
$first = array_shift($arr);
return array_merge(reverseArray($arr), [$first]);
}
$originalArray = [1, 2, 3, 4, 5];
$reversedArray = reverseArray($originalArray);
print_r($reversedArray); // 输出 [5, 4, 3, 2, 1]
性能考虑
内置函数 strrev 和 array_reverse 通常比手动实现或递归方法更高效。手动实现和递归方法在大型数据集上可能性能较差,建议优先使用内置函数。






