您的位置:首页 > 编程语言 > PHP开发

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

2017-04-26 17:50 435 查看
群里有人提出一个问题 如何互换一个数组的首尾元素 中间不变 首尾互换

代码如下:

<?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];
?>


这个方法比较特别,采用数组复制,然后交叉首尾进行赋值,思路奇特,不过有点问题是 如果处理大数组这样可能会比较耗内存。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐