php如何互换一个数组的首尾元素 中间不变 首尾互换

it2022-06-30  104

群里有人提出一个问题 如何互换一个数组的首尾元素 中间不变 首尾互换

代码如下:

<?php $array=array(1,2,3,4,5,6,7,8,9,10); $first=array_shift($array); $last=array_pop($array); $array=array_merge(array($last),$array,array($first)); ?>

这种实现方案是弹出第一个和最后一个 然后组合为数组。

我又想了另外一个方法

<?php $array=array(1,2,3,4,5,6,7,8,9,10); $tmp=current($array); $array[0]=end($array); $array[count($array)-1]=$tmp; ?>

该方法采用中间变量互换首尾值 ,步骤为 获取第一个 和最后一个 采用中间变量进行互换

郭大师提出了他自己的写法

<?php $array=array(1,2,3,4,5,6,7,8,9,10); $copy = $array; $copy[0] = $copy[count($array)-1]; $copy[count($array)-1] = $array[0]; ?>

这个方法比较特别,采用数组复制,然后交叉首尾进行赋值,思路奇特,不过有点问题是 如果处理大数组这样可能会比较耗内存。

转载于:https://www.cnblogs.com/lizhaoyao/p/6769861.html

相关资源:数据结构—成绩单生成器

最新回复(0)