我需要了解修改从控制器传递到视图文件的数据(对象或数组的集合)的最佳模式是什么。
假设我有10条用户实体的记录。所以数组看起来像这样:
array(
0 => object User(),
1 => object User(),
2 => object User(),
3 => object User(),
etc...
);
视图需要这些数据:
array(
0 => array(
0 => object User(),
1 => object User(),
),
1 => array(
0 => object User(),
1 => object User(),
),
etc...
)
以便用户在子数组中按两个分组。
请注意,这只是一个例子。在将其传递给view之前,我需要能够修改从查询返回的数据。最好的模式是什么?
更新
可能我之前不太清楚。我在询问PATTERN - 就OOP而言。什么类模式将包含此具体函数来格式化视图数据。
答案 0 :(得分:0)
试试这个:
$a = array(0,1,2,3,4,5,6,7,8,9,10);
$b = array();
$c = count($a)/2;
for($i=0;$i<$c;$i++){
if($c%2 == 0) $b[$i] = array($a[$i*2], $a[$i*2+1]);
else if($c%2 != 0 && $i == floor($c)) $b[$i] = array($a[$i*2]);
else $b[$i] = array($a[$i*2], $a[$i*2+1]);
}
var_dump($b);