问题描述
我几乎可以处理有关在项目中使用FDPF的任何事情,但是现在的挑战是,是否可以在FPDF单元中运行foreach循环?任何建议将不胜感激。
$pdf->Cell(47,8,"$key - $val",1,'C');
我应该从foreach循环中显示$ key和$ val的输出,结果应跨越单元格 WITHIN 。如果可能的话我该怎么办?
PS:如果foreach在单元外运行,则foreach每次都会继续创建新的单元,这不是我们所期望的。谢谢大家。
解决方法
有一种针对多行单元格的特殊方法-MultiCell
:
此方法允许打印带有换行符的文本。它们可以是自动的(文本到达单元格的右边界时),也可以是显式的(通过\ n字符)。输出所需数量的单元格,一个在另一个单元格下面。
因此,您只需要将数组转换为键值对用换行符分隔的字符串,例如:
$cell_text = [];
foreach ($values as $key => $val) {
$cell_text[] = "$key - $val";
}
$pdf->MultiCell(47,8,implode("\n",$cell_text),1,'C');
,
在$ pdf-> Cell()调用之前,在foreach循环中为单元格生成文本。然后显示文字,即
$tmp="";
foreach(....) {
$tmp .= $key." ".$val."<br\>
}
$pdf->Cell(47,$tmp,'C');