在 php 代码中有一个 for 循环


Have a for loop inside php code

我有一个 php 脚本,可以获取表单的响应。问题是,有20种不同的形式。对于表单 1,POST 获取以下值并将其存储到变量中。

$numberNa1=$_POST['numberNa1'];
$numbern1=$_POST['numbern1'];
$numberoi1=$_POST['numberoi1'];
$numbers1=$_POST['numbers1'];
$numberf1=$_POST['numberf1'];  

我有这段代码,可以从表单(ajax)中获取ID号。我希望在其他方面重复相同的代码 19 次,所以基本上循环那行代码,但用另一个数字替换变量中的数字。例如,我希望下一段代码$numberNa2=$_POST['numberNa2'];等等。这个文件是纯PHP。

将它们

包装在{}:${}是一种创建动态变量的方法,简单的例子:

for($i=0;$i<19;$i++) {
${"numberNa" . $i} = $_POST['numberNa'.$i];
${"numbern" . $i} = $_POST['numbern'.$i];
${"numberoi" . $i} = $_POST['numberoi'.$i];
${"numbers" . $i} = $_POST['numbers'.$i];  
${"numberf" . $i} = $_POST['numberf'.$i];  
}

请尝试以下操作:

$i = 1;
while(isset($_POST['numberNa'.$i]))
{
    $numberNa = $_POST['numberNa'.$i];
    $numbern = $_POST['numbern'.$i];
    $numberoi = $_POST['numberoi'.$i];
    $numbers = $_POST['numbers'.$i];
    $numberf = $_POST['numberf'.$i]; 
    // ... your code
    $i++;
}
for($i=1;$i<19;$i++){
    $numberNa.$i = $_POST['numberNa'.$i];
    $numbern.$i = $_POST['numbern'.$i];
    $numberoi.$i = $_POST['numberoi'.$i];
    $numbers.$i = $_POST['numbers'.$i];
    $numberf.$i = $_POST['numberf'.$i]; 
}

试试这个:

for($i=1 ;isset($_POST['numberNa'.$i]);$i++)
{
    $numberNa = $_POST['numberNa'.$i];
    $numbern = $_POST['numbern'.$i];
    $numberoi = $_POST['numberoi'.$i];
    $numbers = $_POST['numbers'.$i];
    $numberf = $_POST['numberf'.$i]; 
}
 <?php 
for($i=1; $i<=20; $i++)
{
    if(isset($_POST['numberNa'.$i]))
    {
        $numberNa.$i = $_POST['numberNa'.$i];
        fwrite($myfile, $numberNa.$i."'r'n");
    }
    if(isset($_POST['numbern'.$i]))
    {
        $numbern.$i = $_POST['numbern'.$i];
        fwrite($myfile, $numbern.$i."'r'n");
    }
    if(isset($_POST['numberoi'.$i]))
    {
        $numberoi.$i = $_POST['numberoi'.$i];
        fwrite($myfile, $numberoi.$i."'r'n");
    }
    if(isset($_POST['numbers'.$i]))
    {
        $numbers.$i = $_POST['numbers'.$i];
        fwrite($myfile, $numbers.$i."'r'n");
    }
    if(isset($_POST['numberf'.$i]))
    {
        $numberf.$i = $_POST['numberf'.$i];
        fwrite($myfile, $numberf.$i."'r'n");
    }
}
?>