大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“php数组怎么反转”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组怎么反转”吧!
成都创新互联10多年成都定制网站服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都定制网站及推广,对成都混凝土搅拌罐车等多个行业拥有多年建站经验的网站建设公司。
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数组怎么反转”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!