PHP练习-反转数组


反转数组就是把数组里的元素反过来存储

【方法一】

思路分析

新建一个数组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

)

上一篇 下一篇

评论

登录后可发表评论