如何使用for循环声明数组中的变量。我的页面上有3个输入字段,因此当按下提交按钮时,它应该处理以下代码行。在我的html页面上,有一些名为:question1,question2和question3的字段。
这是process.php文件的代码。由于某些原因它不起作用,我想这里有几个错误,但我找不到它。
<?php
$question = array();
for($j=1; $j<4; $j++) {
$question[j] = $_POST['question[j]'];
$result;
$n=1;
if($question[j] != "") {
$result = $n.'): '.$question[j].'<br/><br/>';
$n++;
}
}
echo $result;
?>
答案 0 :(得分:2)
<?php
$question = array();
$result = "";
for($j=1; $j<4; j++) {
$question[$j] = $_POST["question$j"];
if($question[$j] != "") {
$result .= $j.'): '.htmlentities($question[$j]).'<br/><br/>';
}
}
echo $result;
?>
虽然你不需要阵列。
<?php
$result = "";
for($j=1; $j<4; j++) {
$result .= $_POST["question$j"]!="" ? htmlentities($_POST["question$j"]).'<br/><br/>':'';
}
echo $result;
?>
答案 1 :(得分:1)
对于初学者来说,数组是零索引的,所以我想你想要这个:
for($j=0; $j<3; j++)
除此之外,我们还没有评估j
的价值:
$_POST['question[j]']
我想你可能会想要这样的东西:
$_POST["question$j"]
然而,如果您将索引更改为上述内容,因为您的元素的名称以1而不是0开头,那么您需要考虑到这一点:
$_POST['question' . $j+1]
答案 2 :(得分:0)
您可以使用以下HTML代码
<input type="text" name="question[a]" />
<input type="text" name="question[b]" />
<input type="text" name="question[c]" />
使用以下PHP代码:
foreach($_POST["question"] as $key => $value)
{
// $key == "a", "b" or "c"
// $value == field values
}
记得清理你的输入!