php反转数字_【PHP】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】php实现数组反转相关推荐
- 8. 返回数组里出现次数最多的数字_剑指offer 数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 单相电机正反转接线图_关于单相电机正反转的详细接线图
原标题:关于单相电机正反转的详细接线图 免责声明 部分文章精选于网络,版权归原作者所有,我们注重分享.若未能找到作者和原始出处,还望谅解,如原作者看到,欢迎联系小编(可发邮至314377032@qq. ...
- 编程小练习:最大公约数,字符串反序输出,全排列,不用加减法求和,字符串内容反序,字符串中最长数字串,数组是否递增,数组反转,链表反转,翻转单词顺序
最大公约数 --- 递归.非递归 #include <stdio.h>int gcd(int a, int b); int gcd_recursive(int a, int b);int ...
- python查找数列中重复数字_在数组中找出重复的数字(异或法)
购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号 ...
- 【JavaScript系列】JS基础语法_从变量到数组一网打尽_有教程有实战
[JavaScript系列]基础语法_从变量到数组一网打尽_有教程有实战 JavaScript基础语法目录 基础语法 延迟和异步脚本 变量 数据类型 数据类型简介 简单数据类型与复杂数据类型 栈和堆 ...
- java 数组 算法_常见算法总结 - 数组篇
1.给定一个数值在1-100的整数数组,请找到其中缺少的数字. 找到丢失的数字 利用byte数组的1或0标记该数字是否被删除,例如byte数组下标为0的数值为1的话,代表数字1存在 public st ...
- 像素,视频制式,数字_模拟信号摄像头
致谢:像素,视频制式,数字_模拟信号摄像头 1,PAL,NTSC,还有SECAM,这是全球现行的三种模拟技术彩色电视的制式. NTSC(National Television System Commi ...
- 典型的Top K算法_找出一个数组里面前K个最大数
原文 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入 ...
- 小练习----春夏秋冬,回文数,不死神兔,去掉最高最低求和,数组反转,简单加密,switch语句
春夏秋冬 Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if (a == 1 || a == 2 || a == 12) {Sy ...
最新文章
- MOXA的Nport5600初始密码
- OWC组件生成柱状图
- NASA告诉你四翼飞行器的飞行原理
- loadrunner 参数化
- model类中enum类型与数据库字段的映射
- Spring Data JPA教程,第一部分: Configuration(翻译)
- 优秀网站设计:打造有吸引力的网站(原书第3版)
- 如何正确获取安卓内置SD卡的路径
- 大数据:数据大合集,你想要的这里或许会有
- php检查gd库是否开启,检查服务器是否开启GD库
- 松本行弘为什么开发Ruby
- K均值聚类算法(K-Means)
- 2.2、云计算FusionCompute计算虚拟化
- Android 获取Usb设备类型
- 大数据是什么,大数据的特点主要有哪些,应该怎么运用?
- c语言处理nc程序,NC程序的语言问题
- Hadoop3.2.0 HDFS DataNode管理员指南
- MongoDB的多表关联查询
- sql -803 DB2修改主键起始值
- 计算机应用基础主要按键,计算机应用基础教案第一讲:键盘与鼠标(中职教育)...
热门文章
- .NET Core AWS S3云存储
- 一个.NET Core下的开源插件框架Pluginfactory
- 高并发项目Java是标配?.NET Core要将它拉下“神坛”!
- Sql Server之旅——第十二站 对锁的初步认识
- 链路追踪在ERP系统中的应用实践
- 优秀的开发者从命名开始
- .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台
- .NET Conf 2019 大会上发布.NET Core 3.0
- 淘宝商品数据库设计的一些经验
- dotNET Core WebAPI 统一处理(返回值、参数验证、异常)