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