如何在php中将输入数据从两列表单检索到多维数组中

如何在php中将输入数据从两列表单检索到多维数组中,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,这是我试图用来获取输入数据的代码 $itemList = array(); $itemList= $_POST['itemList']; $itemArray = array(array('itemName' => $itemList[0],'itemQuantity' => $itemList[1])); foreach ($itemArray as $item => $innerItem) { foreach ($innerItem as $value) {

这是我试图用来获取输入数据的代码

$itemList = array();
$itemList= $_POST['itemList'];
$itemArray = array(array('itemName' => $itemList[0],'itemQuantity' =>  $itemList[1]));

foreach ($itemArray as $item => $innerItem) {
    foreach ($innerItem as $value) {
        print_r($value);
    }
}
这是我的表单(它是一个动态表单,用户可以添加新行)

试试这个

<?php

$itemList = $_POST['itemlist']

// Assume $itemlist is
$itemList = array('Apples',2,'Cherries',3,'Bananas',4,'Mango',5);

$itemArray = array();

$howMany = count($itemList) / 2;

for ($i=0; $i<$howMany; $i++) {

$itemArray[] = array('itemname' => $itemList[$i*2], 'itemQuantity' => $itemList[$i*2+1]);

}
echo "<pre>";
print_r($itemArray);
echo "</pre>";

?>

我应该循环使用$I+2,而不是所有的除法等。但是,您应该检查$itemList是否有偶数个元素。

如果要生成多维数组,请执行以下操作:

array(
    array( [itemName]=>'apples'[itemQuantity]=>2),
    array( [itemName]=>'cherries'[itemQuantity]=>3)
)

沙箱

如果你不想要钥匙,那就没有了。类似于:
$itemArray=array_chunk($itemList,2))非常感谢。我将尝试使用$i+2 tho。但是[$i*2]和[$i*2+1]是什么呢?@dela the[$i*2]和[$i*2+1]是$itemList数组的索引,(0,1;2,3;3,4…)哦,是的,我知道。。我只是想知道它到底是怎么工作的。因为我的php只是中间版本。谢谢
<?php

$itemList = $_POST['itemlist']

// Assume $itemlist is
$itemList = array('Apples',2,'Cherries',3,'Bananas',4,'Mango',5);

$itemArray = array();

$howMany = count($itemList) / 2;

for ($i=0; $i<$howMany; $i++) {

$itemArray[] = array('itemname' => $itemList[$i*2], 'itemQuantity' => $itemList[$i*2+1]);

}
echo "<pre>";
print_r($itemArray);
echo "</pre>";

?>
Array
(
    [0] => Array
        (
            [itemname] => Apples
            [itemQuantity] => 2
        )

    [1] => Array
        (
            [itemname] => Cherries
            [itemQuantity] => 3
        )

    [2] => Array
        (
            [itemname] => Bananas
            [itemQuantity] => 4
        )

    [3] => Array
        (
            [itemname] => Mango
            [itemQuantity] => 5
        )

)