0

我在 PHP 中创建了一个 foreach 循环,如下所示:

foreach( $value as $element_content => $content ) {

  $canvas_elements = "<div id='" . $element_id . "'>" . $content . "</div>";  
  $elements[] = $canvas_elements;

}

所以我得到一个 PHP 数组中的值,如下所示:

print_r($elements);

但这给出了结果:

Array ( [0] =>
Text to edit
[1] =>
Text to edit
) 

但我只想要这个输出而不是数组( [0] => 等:

<div id="element_id1"></div>
<div id="element_id2"></div>

这是怎么做到的?

4

4 回答 4

1

如果您只想回显/打印一些标记,为什么还要打扰数组:

foreach( $value as $element_content => $content )
{
    echo "<div id='" . $element_id . "'>" . $content . "</div>";  
}

但是,如果您坚持使用该数组,则可以:

echo implode('', $elements);

将数组转换为字符串,就像您想要的那样。您的使用print_r不是前进的方向,因为它更像是一个调试功能:检查文档

打印有关变量的人类可读信息

只是一个小细节:您似乎没有在$elements任何地方声明为数组。PHP 将创建一个新变量,并为您分配一个空数组,确实如此,但是如果您将 ini 设置更改为E_STRICT | E_ALL,您会注意到它不会在不抱怨的情况下执行此操作。(而且是正确
的)最好事先声明和初始化你的变量。写作$elements = array();并不难,也不是很昂贵。无论如何,它比制作通知成本更低。

于 2013-08-02T09:02:35.660 回答
0

像这样使用

<?php 
 $data = array('a'=>'apple','b'=>'banana','c'=>'orange');
 $string = implode("<br/>", $data);
 ?>
<pre><?php print_r($string); ?></pre>

输出

apple
banana
orange
于 2013-08-02T09:02:56.693 回答
0

print_r($array)是一个向用户显示变量值的函数。它是为调试目的而创建的。如果你想要一个 HTML 输出,请使用“echo”或其他特定的东西。

foreach( $value as $element_content => $content ) {
    echo "<div id='" . $element_id . "'>" . $content . "</div> \n";
}
于 2013-08-02T09:03:33.547 回答
0
$elements = array();
foreach( $value as $element_content => $content ) {
    $canvas_elements = "<div id='" . $element_id . "'>" . $content . "</div>"; 
    $elements[] = $canvas_elements;
}
echo $mergedStrArray = implode("\n", $elements);

你能帮我试试吗,有用吗?

于 2013-08-02T09:04:49.230 回答