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

代码如下:

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

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

最新文章

  1. C#Excel文件加密实现,支持xlsx、docx、pptx(C#\Net\Asp.Net)
  2. 【powerdesigner】将pdm或者cdm保存为普通图片格式
  3. Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
  4. C#给DataTable添加序号、C#给DataTable添加合计、小计
  5. IdentityDbContext
  6. php调试mysql信息。
  7. C#中的Attributes的用法
  8. iOS开发常用
  9. 数据库基础——(SQLserver)约束
  10. 鼠标悬停,图片放大 CSS实现
  11. 关于Serializable的serialVersionUID
  12. NoClassDefFoundError: org/apache/commons/lang3/StringUtils
  13. (二)ORB描述子提取源码思路与实现
  14. 简单SQL注入
  15. day02 python数据类型
  16. 51单片机和STM32单片机区别在那里
  17. m0n0wall 详细介绍
  18. Golang Email
  19. GIT服务器实现web代码自动部署
  20. Vim中的寄存器

热门文章

  1. mysql优化一
  2. android的NDK和java进行本地socket通信
  3. sqlserver学习笔记(五)—— 查询
  4. Linux-软件包管理-yum在线管理-yum命令
  5. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
  6. C# 文件与路径操作
  7. [Objective C]super dealloc 调用时机
  8. 5.1 Zend_Log_Writer
  9. maven 中使用jstl 错误解决
  10. 绕过IE10直接安装VS2013