PHP在While循环中迭代数组的变量

时间:2019-07-02 15:28:03

标签: php loops variables while-loop

我从服务器上删除了一系列业务服务,并希望以表格形式显示数据,以便可以对其进行编辑并将其发送到另一个页面。

我想为每个数据分配一个变量(即输入类型='文本'名称='服务$ c')并迭代$ c的值,以便每次都分配一个新值(例如.service1,service2等),这样当数据发布到下一页时,我可以通过这些变量名来检索它。

我发现,如果在while循环中放入“ for($ i = 1; $ i <20 $ i ++)”之类的内容,则数组中的每个数据位将打印20次,如果我将其取出在while循环中,while循环$ c每次都等于“ service1”。

我确实想出了一个解决方案,但我想知道它是否有点hackey ...它有用,但我想知道我是否可以做得更好。

//Create the form
echo "<form action='changeservices2.php' method='post'>";

//Print Out My Array
while ($result_ar = mysqli_fetch_assoc($result)) {

    //Shorten the variable
    $a=$result_ar['service'];

    //Start at 1
    $b=1;

    //Iterate
    $c = $b+$d;
    echo "<input type ='text'  name='service$c' value='$a' ><br>";

    //Since the first variable is null, I needed to help change it
    if (is_null($c)) {$c=1;}
    $d=$c;

}


echo "<input type ='submit'  value='submit' ><br>";
echo "</form>";

它有效,我只是想知道我是否缺少一个更优雅/更简单的解决方案

1 个答案:

答案 0 :(得分:2)

使用数组样式名称:

<input type="text" name="service[]" value="$a">

然后$_POST['service']将是一个可以循环的数组。