如何在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
)
)