【发布时间】:2017-12-07 13:39:45
【问题描述】:
所以我在网上研究了如何传递一个我通过表单发布的数组。
这就是我所做的。
$itemsArr = array();
while ($row = $result->fetch_assoc()) {
$totalPrice += $row['item_price'];
$totalItemsOnCart += $row['quantity'];
$itemId = $row['item_idPK'];
$itemName = $row['item_name'];
$itemPrice = $row['item_price'];
$itemQty = $row['quantity'];
$itemsArr[] = array($userId, $itemId, $itemQty);
echo "<tr>";
echo "<td>".$itemId."</td>";
echo "<td>".$itemName."</td>";
echo "<td>".$itemPrice."</td>";
echo "<td>".$itemQty."</td>";
echo "</tr>";
}
然后,我使用 foreach 循环遍历多维数组。
echo "<form class = 'BreadCode' action='Function_Cart.php' method='POST'>";
foreach($itemsArr as $value){
print_r($value);
echo '<input type="hidden" name="itemsArr[]" value="'. $value. '">';
}
echo "<input type='hidden' name='userId' value='$userId'>";
echo "<input type='hidden' name='itemId' value='$itemId'>";
echo "<input type='hidden' name='quantity' value='$itemQty'>";
echo "<input class='PayButton' type='submit' name='Btn-pay' value='Pay'>";
echo "</form>";
对于foreach() 循环中的隐藏输入,无论是否带有echo,我都会收到“Array to string conversion”错误
过去我并没有真正尝试通过POST 方法通过表单发送array。我只是不知道该怎么做。
下面是print_r()的结果
Array ( [0] => 5112 [1] => 105 [2] => 2 )
Array ( [0] => 5112 [1] => 104 [2] => 1 )
请帮忙。
谢谢。
【问题讨论】:
-
您可以将其传递为
json。之前foreach<input type="hidden" name="itemsArr" value="'<?php echo json_encode($itemsArr ); ?>. '">
标签: php arrays post multidimensional-array