PHP练习-反转数组

2020-09-14 12:20 By "Powerless" 2729 0 1

【方法一】

思路分析

新建一个数组b,从后往前遍历数组a,把遍历到的元素加到数组b的后面。

function reverse($arr)
{
    $left = 0;
    $right = count($arr) - 1;
    $temp = [];
    while ($left <= $right) {
        $temp[$left] = $arr[$right];
        $temp[$right] = $arr[$left];
        $left++;
        $right--;
    }
    ksort($temp);
    return $temp;
}
$arr = [3,8,1,5,2,6,8,3,0];
print_r(reverse($arr));


【方法二】

思路分析

第一项和最后一项互换;第二项与倒数第二项互换;第三项与倒数第三项互换;以此类推,直到换到中间。

function reverse($arr)
{
    $n = count($arr);
    for ($i = 0; $i < $n/2; ++$i) {
        $temp = $arr[$n-$i-1];
        $arr[$n-$i-1] = $arr[$i];
        $arr[$i] = $temp;
    }
    return $arr;
}
$arr = [3,8,1,5,2,6,8,3,0];
print_r(reverse($arr));


输出结果

Array

(

    [0] => 0

    [1] => 3

    [2] => 8

    [3] => 6

    [4] => 2

    [5] => 5

    [6] => 1

    [7] => 8

    [8] => 3

)

评 论

View in WeChat

Others Discussion

  • Redis各种数据类型的使用场景举例分析【三】
    Posted on 2018-11-22 17:00
  • 投票通过,PHP 8 确认引入 Union Types 2.0
    Posted on 2019-11-18 22:22
  • PHP设计模式 - 委托模式
    Posted on 2019-04-25 16:15
  • BASE原则
    Posted on 2020-12-17 16:42
  • 一些常见的基础概念
    Posted on 2018-11-28 19:10
  • HTTP和HTTPS的区别
    Posted on 2020-08-10 23:00
  • PHP扩展安装
    Posted on 2019-06-24 11:28
  • 程序员年中考试题-段子版
    Posted on 2021-06-23 15:57