【问题标题】:How To Run Foreach Loop Within FPDF Cell如何在 FPDF 单元格中运行 Foreach 循环
【发布时间】:2020-10-31 21:56:58
【问题描述】:

我几乎可以处理任何关于我的项目使用 FDPF 的问题,但我现在面临的挑战是,是否可以在 FPDF 单元中运行 foreach 循环?任何建议将不胜感激。

$pdf->Cell(47, 8, "$key - $val", 1, 0, 'C');

我应该显示来自 foreach 循环的 $key 和 $val 的输出,结果应该跨越多行 WITHIN 单元格。如果可能,我该怎么做?

PS:如果 foreach 在单元格之外运行,则 foreach 每次都会不断创建新的单元格,这不是我们想要的。谢谢大家。

【问题讨论】:

    标签: php foreach fpdf


    【解决方案1】:

    多行单元格有一个特殊的方法——MultiCell

    此方法允许打印带有换行符的文本。它们可以是自动的(一旦文本到达单元格的右边框)或显式的(通过 \n 字符)。输出尽可能多的单元格,一个在另一个之下。

    所以你只需要将数组变成一个字符串,其中键值对用换行符分隔,例如:

    $cell_text = [];
    foreach ($values as $key => $val) {
        $cell_text[] = "$key - $val";
    }
    $pdf->MultiCell(47, 8, implode("\n", $cell_text), 1, 'C');
    

    【讨论】:

      【解决方案2】:

      在 $pdf->Cell() 调用之前,在 foreach 循环中为单元格构建文本。然后显示文本即

      $tmp=""; 
      foreach(....) { 
         $tmp .= $key." ".$val."<br\>
      }
      $pdf->Cell(47, 8, $tmp, 1, 0, 'C');
      

      【讨论】:

      • 我真的很感激,这让我大开眼界,谢谢。
      猜你喜欢
      • 1970-01-01
      • 2016-04-04
      • 2019-05-26
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      相关资源
      最近更新 更多