在for循环中连接值字段上的变量而不显示结果


Concat vars on a valuefields in a for cycle without showing the result

我有这个页面:

<?php
for($i=1; $i<=3; $i++){
  $until_he.$i = htmlentities($_POST['until'.$i])
}
?>
<form action="" method...>
<?php
  for($i=1; $i<=3; $i++){
       ...
       print '<input name="until'.$i.'" id="until'.$i.'" class="textinput" value="'.$until_he.$i.'" type="date" min="'.date("Y-m-d").'"/>';
       ...
  }
?>
...

:

$until_he

只有在表单发布后才有内容,否则为空。另一方面

$i

已经定义。所以当我加载页面时,我在字段上得到值1 2 3

我想只在用户发布论坛时获得文件上的值。当我加载页面时,字段应该是空的。

谢谢

试试这个:

<?php
for($i=1; $i<=3; $i++){
   $until_he.$i = htmlentities($_POST['until'.$i]);
   $fieldValue = (trim($until_he.$i)==$i)?"":$until_he;
   ...     
   print '<input name="until'.$i.'" 
                 id="until'.$i.'" 
                 class="textinput" 
                 value="'.$fieldValue.'" 
                 type="date" min="'.date("Y-m-d").'"/>';
   ...
}
?>

取决于您想要完成的任务和您拥有的其他代码。在您的示例中,您应该使用isset($until_he),它不会在未设置变量时生成警告。此外,它还适用于变量$until_he已设置但为空的情况。但是,如果您事先将$until_he初始化为空值,则会失败。