Php 仅传递最后一个变量的数组

Php 仅传递最后一个变量的数组,php,Php,我正在从API中检索和解析一些数据。我可以获取数据并将其函数化为数组。然后我可以在表单中显示数据。然而,当我从表单转到process时,我只返回最后一个数组函数,而不是期望的响应。有什么想法吗 这是我遇到麻烦的部分 **请注意,这些信息来自API,但格式不太理想,因此在发布到表单之前,我必须清理这些信息 $info = array(); $byline = explode("\n", $data); foreach ($byline as $i=> $value) { if ($va

我正在从API中检索和解析一些数据。我可以获取数据并将其函数化为数组。然后我可以在表单中显示数据。然而,当我从表单转到process时,我只返回最后一个数组函数,而不是期望的响应。有什么想法吗

这是我遇到麻烦的部分

**请注意,这些信息来自API,但格式不太理想,因此在发布到表单之前,我必须清理这些信息

$info = array();

$byline = explode("\n", $data);

foreach ($byline as $i=> $value) {

if ($value !=""){
$info[] = $value ;
} 

if ($info !=""){
$number = array();
foreach ($info as $newdata){
$row = explode(",", $newdata);
$number[] = $row[0];
}

echo "<table style='border' cellspacing=0 cellpading=1> 
<form method=POST action=numberfinal.php name = Number>
<input type=hidden name=CUST value=$CUST>
<tr><td><input readonly name=number value=$number[0]></td>
<td>$rate</td><td>$CUST</td><td><input type=submit value=Order name=Order></td></select> 
</tr> 

<tr><td><input readonly name=number value=$number[1]></td><td>$rate</td><td>$CUST</td>   <td><input type=submit value=Order name=Order></td></select> 
</tr> 

<tr><td><input readonly name=number value=$number[2]></td><td>$rate</td><td>$CUST</td> <td><input type=submit value=Order name=Order></td></select> 
</tr> 

<tr><td><input readonly name=number value=$number[3]></td><td>$rate</td><td>$CUST</td> <td><input type=submit value=Order name=Order></td></select> 
</tr> 

</table>";
$info=array();
$byline=explode(“\n”,$data);
foreach($i=>$value作为署名){
如果($value!=“”){
$info[]=$value;
} 
如果($info!=“”){
$number=array();
foreach($info作为$newdata){
$row=分解(“,”,$newdata);
$number[]=$row[0];
}
回声“
$rate$CUST
$rate$CUST
$rate$CUST
$rate$CUST
";

**更清楚地说,无论我按哪个提交(第1行或第4行),都会将相同的数字传递到我的帖子。我希望确保传递的是适当的数字,即$number[0]或$number[4]根据请求提交的内容**

您需要为每个
输入
元素指定不同的名称,以便在处理表单时可以检索每个元素。如果这是一个类似输入的数组,则可以添加
[]
到输入名称的末尾;PHP将在
$\u POST中自动为它们构建一个数组

<input readonly name='number' value='$number[3]'>

处理每个条目。

您的输入具有相同的名称,因此相互覆盖可能您的意思是将这些输入命名为数组:
name='number[]“
只是一个小小的注释,但我觉得您正在以一种非常冗余的方式创建表行。从外观上看,您只是在创建同一行,但具有不同的输入值。为什么不使用for循环,而不是重复每个循环?至于您的实际问题,我认为Dagon是正确的。学习编写有效的html将ld help也:-)我将此作为for循环,但希望确保我的循环和覆盖数据不会造成问题,因此我强制API的前4个响应,而不是API和for循环中提供的103个记录。每个方法都有相同的结果。使用数组作为名称=编号[]字段将在我的post端返回一个不太好的结果,因为我正在获取每个字段的所有数据,并且必须将每个可能的单击作为单独的post语句进行说明(如果我想限制为5条记录,这将是很好的)
foreach ($_POST['number'] as $number)