从PHP数组中获取值

时间:2013-08-02 08:57:03

标签: php for-loop

我在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>

这是怎么做到的?

4 个答案:

答案 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);

你可以试试我,它有用吗?