zoukankan      html  css  js  c++  java
  • php如何互换一个数组的首尾元素 中间不变 首尾互换

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

    代码如下:

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

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

  • 相关阅读:
    JNI和NDK编程
    View的弹性滑动
    View的滑动
    《软件项目管理》课程
    《软件测试》课堂笔记05
    “MAVEN” 简单入门
    “Junit” 简单测试
    关于“百合测试”的实例
    关于“黑盒测试”的实例
    《软件测试》课堂笔记04
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/6769861.html
Copyright © 2011-2022 走看看