【问题标题】:PHP: How do I concatenate a foreach inside a string?PHP:如何在字符串中连接 foreach?
【发布时间】:2019-12-29 02:57:51
【问题描述】:

我想使用 MPDF 的库创建一个 PDF 生成器。在我在 PDF 生成器(当然使用 HTML)中创建的表中,我想执行一个 foreach() 循环。 这是我的代码:

$html = '<td style="border: 1px solid black; border-collapse: collapse;">
    // Here I want foreach concatenation
</td>
<td style="border: 1px solid black; border-collapse: collapse;">
    // Here I want foreach concatenation                                
</td>
<td style="border: 1px solid black; border-collapse: collapse;">
    // Here I want foreach concatenation                                
';

我尝试使用带有变量的常规技术。 ('.$var.'),但这并没有成功。 我也试过匿名函数...

            $PDFFunction = 
                function($arr) {
                    foreach($arr as $key) {
                       // And now somewhere, i've got to return the $key... But I tried in the foreach loop and outside the loop...
                    }
                };

正如您在我的评论中看到的那样,我不知道应该将 return() 函数放在哪里。 当我将它放在循环中时,它只显示第一个键,当我将它放在循环之外(但在函数内)时,我只得到最后一个键...... 有谁知道这个问题的解决方案吗?

致以诚挚的问候...

【问题讨论】:

  • 这是关于variable scope的问题吗?
  • 你究竟想用你的 foreach 循环来完成什么?你的 $arr 数组中存储了什么?
  • @kenef 我想做的是在 PDF 文档中插入一个数组。 (该数组是从我的数据库中获取的)。数组如下所示:Array ( [0] =&gt; First Array index [1] =&gt; 2nd Array index [2] =&gt; 3rd Array index )。 $arr 数组是执行循环的数组。$pdfOmschrijving = $PDFFunction($pdfOmschrijving);
  • @ficuscr 不,这与变量范围无关。但是,最好在循环中创建一个变量并能够在循环外使用它。

标签: php pdf foreach concatenation mpdf


【解决方案1】:

您在 PDF 中“想要连接”什么并不完全清楚,但您可以在文档正在构建时直接在文档中进行。下面包含的是您的 $html 变量的一部分,其中包含 foreach 循环,基于您对您正在尝试执行的操作的描述。

$html = '</tr>
          <tr>
              <td style="border: 1px solid black; border-collapse: collapse;">';

foreach($arr as $key) {
    $html .= $key;
}

$html .= '</td> 
          <td style="border: 1px solid black; border-collapse: collapse;">';
foreach($arr as $key) {
    $html .= $key;
}
$html .= '</td> 
          <td style="border: 1px solid black; border-collapse: collapse;">';
foreach($arr as $key) {
    $html .= $key;
}
$html .= '</td>';

【讨论】:

  • 非常感谢!我试过了,你的代码成功了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 2023-03-21
  • 2013-05-26
  • 2018-06-10
相关资源
最近更新 更多