如何在FPDF单元中运行Foreach循环

问题描述

我几乎可以处理有关在项目中使用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');