我有一个数组,我在这里合并两个数组的值来创建一个新数组。我希望数组的半值在列的第一个单元格中打印出来,而另一半在第二列中打印出来。我怎样才能做到这一点。请帮我。提前谢谢。
结果我正在使用PHP数组
Array ( [0] => Test Task 1
[1] => Test Task 2
[2] => Test Task 3
[3] => Normal
[4] => Important
[5] => Urgent )
整码
if(isset($_POST['submit'])){
$tasks=$_POST['txttask'];
$priority=$_POST['priority'];
$final_array=array_merge($tasks,$priority);
include("mpdf/mpdf.php");
$mpdf=new mPDF();
$html = '<table width="100%">';
$html .= '<tr>';
$html .= '<td width="50%"><h1>Logo</h1></td>';
$html .= '<td width="50%" align="right"><h2>Work Order</h2></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td><h3>Company Name</h3></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td><address>Street Address </address></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td><address>City St Zip Code</address></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<tr>';
$html .= '<td><address>Phone:123 456 Fax:123 456</address></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td width="100%" align="right">Job: A description just for testing.<td>';
$html .= '</tr>';
$html .= '</table>';
$html .= '<table border="1">';
$html .= '<thead>';
$html .= '<tr><th>Task</th><th>Prority</th><tr>';
$html .= '</thead>';
$html .= '<tbody>';
for($i=0;$i<sizeof($final_array)$i++){
$t;
$p;
if($i%2!=0){
$t=$final_array[$i];
} else {
$p=$final_array[$i];
}
$html .= '<tr>';
$html .= '<td>''<td>';
$html .= '</tr>';
}
$html .= '</tbody>';
$html .= '</table>';
$mpdf->WriteHTML($html);
// $mpdf->Output();
$mpdf->Output('MyPDF.pdf', 'D');
exit;
}
答案 0 :(得分:3)
这可能会有所帮助 -
$array = array( 'Test Task 1', 'Test Task 2', 'Test Task 3', 'Normal', 'Important', 'Urgent' );
$chunks= array_chunk($array, floor(count($array)/2)); // split array in 2 halves
echo '<table><tr>';
foreach($chunks as $chunk) {
echo '<td>' . implode(', ', $chunk) . '</td>'; // print the values in columns
}
echo '</tr></table>';
这只是一个如何做的例子。您可以根据需要实施。
答案 1 :(得分:0)
将数组转换为数组的一半大小并将元素推入新数组
for($i=0;$i<(sizeof($array)/2);$i++) {
$newarray[]=$array[$i];
}