PHP练习-反转数组

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

  • 浏览器访问网站经历的步骤-Html
    Posted on 2018-11-28 18:48
  • BASE原则
    Posted on 2020-12-17 16:42
  • 程序员年中考试题-段子版
    Posted on 2021-06-23 15:57
  • 前端知识体系精简-Css
    Posted on 2018-03-28 18:34
  • Mysql联合索引的最左前缀匹配原则
    Posted on 2018-08-25 15:00
  • 2016年云计算热词
    Posted on 2019-06-12 17:53
  • PHP没你想的那么差
    Posted on 2021-12-17 15:40
  • 分布式架构之「 数据分布」
    Posted on 2019-11-14 10:00