我想使用递归反转索引数组中的值。输出应与array_reverse()相同。
我的代码:
$array = [1,2,3,4,5,6,7];
function reverseString(&$s) {
if(count($s) < 2){
return;
}
$len = count($s);
$temp = $s[0];
$s[0] = $s[$len - 1];
$s[$len - 1] = $temp;
reverseString(array_slice($s, 1, $len - 2));
}
reverseString($array);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
返回:
Array (
[0] => 7
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 1 )
Run Code Online (Sandbox Code Playgroud)
array_slice()是数组部分的链接,对吗?
为什么内部元素没有受到我的递归交换技术的影响?