以可读格式显示PHP数组

时间:2013-11-11 23:26:43

标签: php arrays formatting

对于PHP来说,我是新手,所以如果这太简单明了,我很抱歉。

我有一个webform,用户可以动态添加输入字段。当用户单击“提交”时,所有输入字段都将保存到数组中。当我使用print_r命令时,我得到一个如下所示的数组:

Array 
    ( 
    [1] => Array ( [tc] => 00:10 [feedback] => good ) 
    [2] => Array ( [tc] => 00:20 [feedback] => bad ) 
    [3] => Array ( [tc] => 00:21 [feedback] => Bigger text ) 
    )

我用来将数据拉入数组的代码是:

if (!empty($_POST)) { //The values have been posted
    $elements = array();
    foreach ($_POST as $key => $val) { //For every posted values
        $frags = explode("_", $key); //we separate the attribute name from the number
        $id = $frags[1]; //That is the id
        $attr = $frags[0]; //And that is the attribute name
        if (!empty($val)) {
            //We then store the value of this attribute for this element.
            $elements[$id][$attr] = htmlentities($val);
        }
    }
}

我想显示数据的方式如下:

01: 00:10 - good<br />
02: 00:20 - bad<br />
03: 00:21 - Bigger text<br />

我想在http://ridefreemedia.com.au/test

找到我想要制作的表格

4 个答案:

答案 0 :(得分:1)

你必须迭代数组,如下:

$arr = Array( 
    1 => Array ( "tc" => "00:10", "feedback" => "good" ),
    2 => Array ( "tc" => "00:20", "feedback"=> "bad" ),
    3 => Array ( "tc" => "00:21", "feedback" => "Bigger text" ) 
  );

foreach ($arr as $k => $info) {
  echo $k . ': ' . $info['tc'] . ' - ' . $info['feedback'] . '<br />'; 
}

这里的输出将是:

  

1:00:10 - 好的   2:00:20-坏了   3:00:21 - 更大的文字

2值得注意的事情,因为我相信你正在发现PHP

  • .连接字符串
  • foreach ($array as $k => $v)遍历数组 对于每一行,它将该行的键放在$k中,将值放在$v中。这里,第一次迭代时$k = 1$info = Array ( "tc" => "00:10", "feedback" => "good" )

答案 1 :(得分:0)

只需像这样$array_name[1]调用数组即可。或者,如果数组值具有键$array_name['key_name']

答案 2 :(得分:0)

这不完全是你所追求的,但<pre>会使它有点美化。

echo '<pre>';
print_r($val);
echo '</pre>';

答案 3 :(得分:0)

print_r不会这样做,因为你可以看到它输出数组的元数据。尝试将字段添加到字符串并使用echo将字符串输出到html代码中。