实现方式:数组首尾对应位置的值替换。可以想象成将数组对折了一下,然后对应的值交换。
/**
* 数组元素反转函数
* param $arr array
* return array
*/
function reverse(array $arr) :array
{
$left = 0;
$right = count($arr) - 1;
while ($left < $right) {
list($arr[$left++], $arr[$right--]) = [$arr[$right], $arr[$left]];
}
return $arr;
}
//example
$arr = [1,2,3,4,5,6,7];
print_r(reverse($arr));
//output
Array
(
[0] => 7
[1] => 6
[2] => 5
[3] => 4
[4] => 3
[5] => 2
[6] => 1
)