我想创建一个在必要时生成表的类。我想要的是调用如下方法:
$html = new HTML;
$html->createTbody(
Array(
'tr' => Array(
'td' => Array(
'1','2','3','4'
)
),
'tr' => Array(
'td' => Array(
'5','6','7','8'
)
)
)
);
在这里,我有以下方法:
<?php
Class HTML{
[..]
public function createTbody($params = Array()){
$output = "\n\t".'<tbody>';
foreach($params['tr'] AS $tr){
$output .= '<tr>';
foreach($params['tr']['td'] AS $td){
$output .= "\n\t\t".'<td>'.$td.'</td>';
}
$output .= '</tr>';
}
$output .= "\n\t".'</tbody>'."\n";
echo($output);
}
?>
这样做的问题是,只tr
打印最后一个数组。print_r
此外,当 i$params
数组时,它显示5, 6, 7, 8
.
现在我很困惑。我假设我必须使tr
数组唯一或递归方法,但是如何?
我尝试像这样调用该方法:
$html->createTbody(
Array(
'num' => '2',
'tr1' => Array(
'td' => Array(
'1','2','3','4'
)
),
'tr2' => Array(
'td' => Array(
'5','6','7','8'
)
)
)
);
然后在for($i=0;$i<$params['num'];$i++)
循环中使用相同的方法并调用tr and td
数组,$params['tr'.$i]['td']
但这并没有按应有的方式输出。当我打印那个数组时,它确实显示了完整的数组。
也许有人可以帮助我吗?