我在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] =&gt;等等:
<div id="element_id1"></div>
<div id="element_id2"></div>
这是怎么做到的?
答案 0 :(得分:1)
为什么要打扰数组,如果你只需要回显/打印一些标记:
foreach( $value as $element_content => $content )
{
echo "<div id='" . $element_id . "'>" . $content . "</div>";
}
但是,如果你坚持使用那个阵列,那么这是什么呢?
echo implode('', $elements);
将数组转换为字符串,就像你想要的那样。您使用print_r
不是前进的方式,因为它更像是一个调试功能:check the docs
打印有关变量的人类可读信息
只是一个小细节:你似乎没有在任何地方声明$elements
为数组。 PHP将创建一个新变量,并为它分配一个空数组,这是真的,但是如果你将你的ini设置更改为E_STRICT | E_ALL
,你会注意到它不会在没有抱怨的情况下这样做。 (并且正确地说)
事先声明和初始化变量总是更好。写$elements = array();
并不难,也不是很昂贵。无论如何,它比制作通知要便宜。
答案 1 :(得分:0)
像这样使用
<?php
$data = array('a'=>'apple','b'=>'banana','c'=>'orange');
$string = implode("<br/>", $data);
?>
<pre><?php print_r($string); ?></pre>
<强>输出强>
apple
banana
orange
答案 2 :(得分:0)
print_r($array)是一个向用户显示变量值的函数。它是为调试目的而创建的。如果您想要HTML输出,请使用“echo”或特定内容。
foreach( $value as $element_content => $content ) {
echo "<div id='" . $element_id . "'>" . $content . "</div> \n";
}
答案 3 :(得分: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);
你可以试试我,它有用吗?