将$_POST文本输入转换为多维数组


Converting $_POST text input into a multidimensional array

在我的网店上,有一个表格,里面有大量的文本输入,表示产品的数量。每个产品有三个字段:S尺寸、M尺寸和L尺寸的产品数量。

因此,输入字段的名称必须同时包含产品id和大小。这是形式的简化代码:

foreach ($productid as $id ) {
    echo '<input type="text" name="s'.$id.'" />';
    echo '<input type="text" name="m'.$id.'" />';
    echo '<input type="text" name="l'.$id.'" />';
}

我想处理这个通过$_POST发送的输入,并将所有输入字段的所有值保存到一个多维数组中。所需阵列的格式如下:

$input['32'][m']='20'意味着客户订购了20倍id为32的产品,尺寸为M。

我所有的尝试都失败了,因为我不知道如何循环$_POST值,将它们变成一个一维数组。

知道如何处理这些输入并获得二维数组吗?

括号[]将生成一个数组,所以尝试这个和print_r($_POST),然后查看:

foreach ($productid as $id ) {
    echo '<input type="text" name="product['.$id.'][s]" />';
    echo '<input type="text" name="product['.$id.'][m]" />';
    echo '<input type="text" name="product['.$id.'][l]" />';
}