foreach 循环通过特定$request


foreach loop through specific $request

我有一个表单,它有几种输入类型,都需要以不同的方式处理。我做了一个循环,以这样的形式命名它们:

product-0-length
product-0-size
product-1-length
product-1-size
product-2-length
product-2-size

在我的处理 php(表单信息被发送的地方(上,我想迭代一个循环来处理与长度不同的大小。我的想法是这样的,但没有运气:

<?php  
    $i = 0;
    foreach($_REQUEST['product-'.$i.'-length'] as $key => $val) {
        //style or do what I need with the length information for each product 
        echo '<li>'.$key.'='.$val .'</li>';
        $i++;
    }
?>

正如我在上面的评论中建议的那样,您可以对输入字段使用不同的命名方案。请看一下这个表单创建示例:

<?php
foreach ($i=0; $i<3; $i++) {
  echo "<input type='"text'" name='"product[$i][length]'">'n";
  echo "<input type='"text'" name='"product[$i][size]'">'n";
}

提交此表单时,服务器会将符号转换为php数组,这是一件非常方便的事情。您可以简单地遍历该数组:

<?php
foreach ($_POST['product'] as $key=>$product) {
  echo "<li>Length of product $key: " . $product['length'] . "</li>'n";
  echo "<li>Size of product $key: " . $product['size'] . "</li>'n";
}

请注意,这是一个非常原始的示例,缺少所有错误检查等以保持紧缩。我也没有在这里测试这段代码,它只是为了给你指出正确的方向,但我希望那里没有太多的错别字......