对于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 />
找到我想要制作的表格
答案 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代码中。