LHC大神问的矩阵转置问题
数学中线性代数中提到的矩阵转置,其实在我们的业务场景中也有需要的地方,比如LHC大神问到的这个问题
那么如何进行行列转换呢?
代码如下:
- <?php
- $array=array(
- '部门1'=>array('费用1'=>100,'费用2'=>200,'费用3'=>300),
- '部门2'=>array('费用1'=>90,'费用2'=>100,'费用3'=>90),
- '部门3'=>array('费用1'=>60,'费用2'=>60,'费用3'=>60),
- '部门4'=>array('费用1'=>60,'费用2'=>60,'费用3'=>60),
- );
- function handle_column_array($array)
- {
- $original_array=$array;
- $result=array();
- $first=array_shift($array);
- $keys=array_keys($first);
- foreach ($original_array as $k=>$v)
- {
- foreach ($keys as $val)
- {
- $result[$val][$k]=$v[$val];
- }
- }
- return $result;
- }
- $columns=array_keys($array);
- array_unshift($columns,'费用类型');
- $table=handle_column_array($array);
- echo "<table border='1'>";
- echo "<tr><td>".implode("</td><td>",$columns)."</td></tr>";
- foreach ($table as $key => $value)
- {
- array_unshift($value,$key);
- echo "<tr><td>".implode("</td><td>",$value)."</td></tr>";
- }
- echo "</table>";
- exit();
截图如下:
运行效果如图:
表格转置在我之前刚学习PHP的时候就处理过这种问题,当时为了写学生老师选课成绩系统做的,这里附带上当时系统做完后于2013-8-7 10:04创作的诗一首
LHC大神问的矩阵转置问题的更多相关文章
- 转自一个CG大神的文章
<如何学好游戏3D引擎编程>此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自 ...
- 对话机器学习大神Yoshua Bengio(上)
Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun(燕乐存)教授,缔造了2006年开始的深度学习复兴 ...
- 前端自学vs跟大神系统学?你看着办
前端自学vs跟大神系统学?你看着办 一名广告专业学生,在大三的时候对于广告行业的前景不是很看好,转而自学web前端,刚开始接触的前端语言是html(html应该不算编程语言),上手很容易,在w3csh ...
- 【web前端面试题整理04】阿里一行之大神面对面
前言 这段时间我在河南一家公司当了一段时间的前端主管,最后可耻的匿了,原因各种各样,最主要的就是不想呆在郑州了. 其实这里的同事还是很不错的,面对老总最后的挽留我不是没有动心,而是这个地方确实不太好, ...
- wire与reg的区别?转载大神!
本文转自:http://www.cnblogs.com/thymon/archive/2010/06/09/1754541.html //------------------------------- ...
- [LeetCode]LRU Cache有个问题,求大神解答【已解决】
题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the ...
- [转]Python中的矩阵转置
Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...
- 对话机器学习大神Yoshua Bengio(下)
对话机器学习大神Yoshua Bengio(下) Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun ...
- 跟着大神重写的KNN 文档归类小工具
·背景 在知道KNN之前,楼主有时候会粗糙地做一些分类模型的计算.在拜读了Orisun大神[http://www.cnblogs.com/zhangchaoyang/articles/2162393. ...
随机推荐
- sudo开发常用命令总结
ansible ws -m "shell" -a "echo 'wangsong ALL=(ALL) NOPASSWD: /usr/local/bin/superviso ...
- web界面设计
本书描述了6个设计原理,即直截了当.简化交互.足不出户.提供邀请.使用变换.即时反应. 一.直截了当(alan cooper:"在哪里输出,就要允许在哪里输入") 1.1 行内编辑 ...
- C#里的SubString和Convert.ToDateTime
1.C#里的SubString String.SubString(int index,int length) index:开始位置,从0开始 length:你要取的子字符串的长度 2.C#语言 ...
- Android pid uid
PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在a ...
- Opengl绘制我们的小屋(三)纹理绘制
本准备先说光照相关实现,但是发现对那个模型实在看不下去了,于是先绘制纹理. 先看下基本纹理贴上去的显示效果.具体模型图请看上篇文章的实现,这篇只讲纹理实现. 我们常见的纹理绘制差不多如下,先写一个纹理 ...
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
hibernate查询结果条数集 原写法: Integer count = (Integer )session.createQuery(hql).uniqueResult(); 报错:java.lan ...
- 认真研究下HTML之id、name、form、submit
#起因 同事希望在提交之后关闭父窗口,但是,始终没有提交请求发出.他的代码大概如下: // <form id='f' action=... // <button onclick='fun( ...
- Android Notification和权限机制探讨
近期为了在部门内做一次小型的技术分享.深入了解了一下Notification的实现原理.以及android的权限机制.在此做个记录.文章可能比較长,没耐心的话就直接看题纲吧. 先看一下以下两张图 图一 ...
- html常用对照表
常用对照表:http://tool.oschina.net/commons
- MATLAB:读取txt文件中物体的三维坐标,显示三维模型
在MATLAB中建立一个脚本show3Dtxt.m文件,编写代码: clear; %%read 3D data fileID= fopen('E:\博士\深度学习与三维重建\代码实现\voxel_gr ...