数学中线性代数中提到的矩阵转置,其实在我们的业务场景中也有需要的地方,比如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创作的诗一首