php数组如何反转

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

本文操作环境: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视频教程》

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » php数组如何反转

登录

找回密码

注册