php解答:php数组如何反转

 所属分类:php教程

 浏览:105次-  评论: 0次-  更新时间:2022-09-21
描述:更多教程资料进入php教程获得。 php数组反转的实现方法:1、使用“function reverse($arr){...}”方法实现数组反转;2、使用“function r...
更多教程资料进入php教程获得。

php数组反转的实现方法:1、使用“function reverse($arr){...}”方法实现数组反转;2、使用“function reverse_arr($arr){...}”方法实现数组反转即可。

php零基础到就业直播视频课:进入学习
程序员必备接口测试调试工具:立即使用

本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

php实现数组反转

php里面有个函数可以反转数组,工作中也经常用到,非常方便。今天来自己实现这样的功能。

$arr = [2,5,6,1,8,16,12];
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;
}

效果

Array
(
    [0] => 12
    [1] => 16
    [2] => 8
    [4] => 6
    [5] => 5
    [6] => 2
)

不过这个函数只能处理一维数组。在实现一个可以处理多维的。

$arr = [2,[6,3,9],1,[5,2,1,[10,8,7]],5,0];

function reverse_arr($arr){
    $index = 0;
    $reverse_array = [];
    foreach ($arr as $sub_arr){
        if(is_array($sub_arr)){
            $sub_arr = reverse($sub_arr);
            $arr_ = reverse_arr($sub_arr);
            $reverse_array[$index] = $arr_;
        }else{
            $reverse_array[$index] = $sub_arr;
        }
        $index++;
    }
    return $reverse_array;
}

print_r(reverse(reverse_arr($arr)));

输出结果
Array
(
    [0] => 0
    [1] => 5
    [2] => Array
        (
            [0] => Array
                (
                    [0] => 7
                    [1] => 8
                    [2] => 10
                )

            [1] => 1
            [2] => 2
            [3] => 5
        )

    [3] => 1
    [4] => Array
        (
            [0] => 9
            [1] => 3
            [2] => 6
        )

    [5] => 2
)

上面都是数字索引数组,不能处理关联数组,接着来个可以处理关联数组的

$arr = ['a'=>'aa','b'=>'bb','c'=>'cc','d'=>'dd','e'=>'ee'];
function reverse($arr){
    $temp = [];
    end($arr);
    while (($value = current($arr)) != null){
        $temp[key($arr)] = $value;
        prev($arr);
    }
    return $temp;
}
print_r(reverse($arr));

结果
Array
(
    [e] => ee
    [d] => dd
    [c] => cc
    [b] => bb
    [a] => aa
)

推荐学习:《PHP视频教程》

以上就是php数组如何反转的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: php数组,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!