PHP练习-反转数组

2020-09-14 12:20 By "Powerless" 2724 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

)

评 论

Others Discussion

  • 一些常见的基础概念
    Posted on 2018-11-28 19:10
  • HTTP头中隐藏PHP版本号
    Posted on 2021-01-11 16:38
  • QPS、TPS、RT、吞吐量到底是什么
    Posted on 2020-02-02 01:15
  • MySQL事务介绍
    Posted on 2019-06-05 18:14
  • 能创建多少个 TCP 连接?
    Posted on 2021-08-02 16:00
  • MySQL中的行级锁,表级锁,页级锁
    Posted on 2018-08-25 11:00
  • 2018年云计算热词
    Posted on 2019-06-12 18:19
  • PHP 基金会来啦!
    Posted on 2022-10-08 17:40