我有一个表单,用于记录autoincrement中带有变量名的各个字段。 当我保存我的表单变量时看起来像
<form>
<?php
$i = 1;
foreach ($variables as $var ) {
echo '<input type="text" name="txt$i" value="$var->name" />';
$i ++;
}
?>
</form>
我的问题是如何显示输入字段的值,我做了,但没有工作
<?php
foreach ($variables as $var) {
echo $var->txt$i;
$i ++;
}
?>
答案 0 :(得分:2)
两个脚本中都有一些错误。在这里他们是固定的。
<form>
<?php
$i = 1;
foreach ($variables as $var ) {
echo '<input type="text" name="txt' . $i . '" value="' . $var->name . '" />';
$i++;
}
?>
</form>
<?php
$i = 1;
foreach ($variables as $var) {
echo $var->{"txt" . $i};
$i++;
}
?>
答案 1 :(得分:1)
In PHP, single-quoted strings do not allow for variable interpolation
尝试:
echo '<input type="text" name="txt' . $i . '" value="' . $var->name . '" />';
答案 2 :(得分:1)
这是因为您使用单引号:
echo '<input type="text" name="txt$i" value="$var->name" />';
并且单引号内部变量插值不会发生。
改为使用:
echo '<input type="text" name="txt'.$i.'" value="'.$var->name.'" />';
答案 3 :(得分:0)
这应该有效,
<form>
<?php
$variables = array("red","yellow","blue","orange","green");
$i = 1;
foreach ($variables as $var ) {
$name = "txt".$i;
echo "<input type='text' name='".$name."' value='".$var."' />";
$i++;
} ?>
</form>
你需要将变量放在双引号中,我认为创建一个名称变量并将递增的值连接到它的末尾会更容易
答案 4 :(得分:-1)
无法从你的问题中得到你想要的东西 可能只是
echo $txt.$i;