使用$ _POST []中的var进行$ _POST数组处理

时间:2014-01-01 03:14:00

标签: php post

我正在制作一个表单,向客户显示客户和相关帐户。 例如 客户约翰有3个账户

account_Id 1 account_type hardware
account_Id 4 account_type service
account_Id 6 account_type software

通过从数据库中选择所有帐户信息然后

来创建表单
$acc_i=0;
foreach($account as $acc){
?>
    <tr>
    <input type="hidden" name="account_count" value="<?php echo $acc_i; ?>">
    <input type="hidden" name="<?php echo $acc_i; ?>_cust_account_id" value="<?php echo $acc['Id'];?>" />
    <td>
    </td>
    </tr>
<?php
$acc_i++;
}

这给了我一个带有

的$ _POST数组
account_count => 1
0_cust_account_id => 1
1_cust_account_id => 4
1_cust_account_id => 6

是否可以使用类似

的方式访问值
for($i=0;$i<=$_POST['account_count'];$i++){ echo $_POST[$i _cust_account_id];}

2 个答案:

答案 0 :(得分:1)

如果您正在处理要在发布请求中发送的数据列表,请考虑使用数组,例如,如果您要发送ID列表,则可以执行以下表单:

<input type="hidden" name="CustomerId[]" value="1" />
<input type="hidden" name="CustomerId[]" value="2" />
<input type="hidden" name="CustomerId[]" value="3" />

然后当那些提交时,可以通过

访问这些值
$_POST['CustomerId'] == array(1, 2, 3)

count($_POST['CustomerId']) == Number of accounts?

答案 1 :(得分:-1)

在提出问题的同时,我找到了一个可行的解决方案 而不是尝试

$_POST['.$i.'_cust_account_id];

我用这个

$string=$i.'_cust_account_id';
$_POST[$string]

如果您知道如何避免使用额外的变量,请发布。