PHP创建循环以处理未知数量的传入POST数据

时间:2019-09-24 13:26:32

标签: php

我正在使用将通过POST请求发送数据的Web服务。我通常会以典型方式处理此问题,例如

$request->setField('attachment0', $_POST['attachment0']);

我需要扩展它以处理多个递增的POST数据,例如伪代码是这样的:

 $request->setField('attachment0', $_POST['attachment0']);
 $request->setField('attachment1', $_POST['attachment1']);
 $request->setField('attachment2', $_POST['attachment2']);

,依此类推。我不想硬编码它们并有10条单独的行,我想将计数器变量设置为最大可能值,例如10然后有一个循环,循环会不断增加,例如:

set counter to 1
if counter < 10
$request->setField('attachment($counterValue)', $_POST['attachment($counterValue)']);
finish when counter = 10

PHP是否有可能-我是PHP的新手,所以仍然在这里学习绳索?

2 个答案:

答案 0 :(得分:1)

当然,只需使用for循环:

for( $i = 0; $i <= 10; $i++ )
{
  $request->setField("attachment$i", $_POST["attachment$i"]);
}

您甚至可以使用while循环来使其完全动态(即,如果您不知道期望多少):

$i = 0;

while( isset($_POST["attachment$i"]) )
{
  $request->setField("attachment$i", $_POST["attachment$i"]);
  $i++;
}

答案 1 :(得分:0)

您可以尝试这样:

for( $i = 0; $i < count(your_aaay_count); $i++ ){
  $request->setField("attachment$i", $_POST["attachment$i"]);
}

希望这会起作用