当前位置: 首页 > news >正文

php怎么将二维数组倒置,如何在PHP中旋转二维数组90度

php没有像矩阵的“转置”这样的概念而没有添加某种线性代数库.

你可以通过遍历矩阵和交换一些索引来原生地完成它

function rotate90($mat) {

$height = count($mat);

$width = count($mat[0]);

$mat90 = array();

for ($i = 0; $i < $width; $i++) {

for ($j = 0; $j < $height; $j++) {

$mat90[$height - $i - 1][$j] = $mat[$height - $j - 1][$i];

}

}

return $mat90;

}

$mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

print_r($mat);

//123

//456

//789

print_r(rotate90($mat));

//741

//852

//963

$mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ["a", "b", "c"]];

print_r($mat);

//123

//456

//789

//abc

print_r(rotate90($mat));

//a741

//b852

//c963

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • php小项目实例试题,lamp小项目实施题目及参考答案
  • 中移动为何惧怕Nokia和iPhone
  • 男人30学php,科学网—男人30岁之前要学的16件事 - 刘石泉的博文
  • php动态远吗怎么修改,PHP动态修改GD库扩展问题
  • 猫扑视频未被处罚,此猫扑非彼猫扑
  • php解json字符串,如何解码PHP中的JSON字符串?
  • 吴石:几种软件缺陷的可能利用方法
  • oracle表如何用函数,利用函数返回oracle对象表的三种方法
  • 吴鲁加:企业如何进行数据安全防御
  • oracle普通用户提权,oracle 10g 漏洞--低权限用户提权方法
  • oracle 输出到output,[20190603]关于dbms_output输出问题.txt
  • 微软安全服务提供专家方兴:Web2.0安全研究
  • php dwt foreach,ecshop在dwt模板中和lbi中输入数组详情的方法 ecshop模板中输出数组的方法...
  • oracle安装后再建库,完全Oracle安装建库手册
  • 张翼:跳出PC局限用手机授权防御木马
  • [数据结构]链表的实现在PHP中
  • [译]Python中的类属性与实例属性的区别
  • css系列之关于字体的事
  • ES6 学习笔记(一)let,const和解构赋值
  • js ES6 求数组的交集,并集,还有差集
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux下的乱码问题
  • Netty 4.1 源代码学习:线程模型
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • PV统计优化设计
  • Travix是如何部署应用程序到Kubernetes上的
  • uni-app项目数字滚动
  • web标准化(下)
  • 半理解系列--Promise的进化史
  • 分布式熔断降级平台aegis
  • 后端_ThinkPHP5
  • 通信类
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 数据可视化之下发图实践
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #pragam once 和 #ifndef 预编译头
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (过滤器)Filter和(监听器)listener
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (十一)c52学习之旅-动态数码管
  • (十一)手动添加用户和文件的特殊权限
  • (一)插入排序
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Scala的“=”符号简介
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .equals()到底是什么意思?
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET的微型Web框架 Nancy