今天在工作中遇到一个问题,是将一个二维数组转化为一个矩阵,用php算法实现,这是在drupal的grid中碰到的,最终在同事Lake的帮助下完成。
问题描述
$rows是个二维数组,包含四行三列元素。
$rows = ([0][0], [0][1], [0][2], [1][0], [1][1], [1][2], [2][0], [2][1], [2][2], [3][0], [3][1], [3][2], )
需要转化为下图形状的矩阵,
x|x|x
x|x|x
x|x|x
x|x|x
我的需求是建立一个这样的数组,
1 | 5 | 9
2 | 6 | 10
3 | 7 | 11
4 | 8 | 12
算法设计
<?php foreach ($rows as $row_number => $columns): ?>
<?php $j = -3 ; ?>
<?php foreach ($columns as $column_number => $item): ?>
<?php $j += 4 ; ?>
<?php print ($row_number + $j); ?>
<?php endforeach; ?>
<?php endforeach; ?>
感兴趣的朋友可以试一试其他矩阵,这是一个简单的算法,如果小看php不能做算法的话,代码只能是付出执行效率作为牺牲代价。



















